mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
libtar: avoid st_rdev, makedev, minor, major on Haiku
This commit is contained in:
@@ -12,13 +12,16 @@ COPYRIGHT="
|
||||
1998-2003 Mark D. Roth
|
||||
"
|
||||
LICENSE="BSD (3-clause)"
|
||||
REVISION="4"
|
||||
SOURCE_URI="http://pkgbuild.com/~giovanni/libtar/libtar-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="43c5f50e6b4398c8be35d6f3abee26064c3f26174715b60004576792e3283353"
|
||||
SOURCE_DIR="libtar"
|
||||
REVISION="5"
|
||||
gitCommit="9c2e044833c5e908f5be0a77991b08849021793e"
|
||||
SOURCE_URI="https://github.com/tklauser/libtar/archive/$gitCommit.tar.gz"
|
||||
CHECKSUM_SHA256="21d86460dd128f56cfa391e4bc82e91f98e84c2948a854e33daed5c58d4e9cb6"
|
||||
SOURCE_FILENAME="libtar-$portVersion-$gitCommit.tar.gz"
|
||||
SOURCE_DIR="libtar-$gitCommit"
|
||||
PATCHES="libtar-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all"
|
||||
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
libtar${secondaryArchSuffix} = $portVersion
|
||||
|
||||
64
dev-libs/libtar/patches/libtar-1.2.20.patchset
Normal file
64
dev-libs/libtar/patches/libtar-1.2.20.patchset
Normal file
@@ -0,0 +1,64 @@
|
||||
From e98f76074b3d35856e43da9c9b3ac51295391543 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Mon, 24 Oct 2022 09:44:42 +0200
|
||||
Subject: disable st_rdev for Haiku
|
||||
|
||||
|
||||
diff --git a/compat/compat.h b/compat/compat.h
|
||||
index 70ac2f4..5cd7bb7 100644
|
||||
--- a/compat/compat.h
|
||||
+++ b/compat/compat.h
|
||||
@@ -186,11 +186,15 @@ int inet_aton(const char *, struct in_addr *);
|
||||
** machine.
|
||||
*/
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#define compat_makedev(maj, min) 0
|
||||
+#else
|
||||
# ifdef MAKEDEV_THREE_ARGS
|
||||
# define compat_makedev(maj, min) makedev(0, maj, min)
|
||||
# else
|
||||
# define compat_makedev makedev
|
||||
# endif
|
||||
+#endif
|
||||
|
||||
#endif /* NEED_MAKEDEV */
|
||||
|
||||
diff --git a/lib/append.c b/lib/append.c
|
||||
index 00c9aef..76122a4 100644
|
||||
--- a/lib/append.c
|
||||
+++ b/lib/append.c
|
||||
@@ -102,9 +102,11 @@ tar_append_file(TAR *t, const char *realname, const char *savename)
|
||||
td = (tar_dev_t *)libtar_hashptr_data(&hp);
|
||||
else
|
||||
{
|
||||
+#ifndef __HAIKU__
|
||||
#ifdef DEBUG
|
||||
printf("+++ adding hash for device (0x%lx, 0x%lx)...\n",
|
||||
major(s.st_dev), minor(s.st_dev));
|
||||
+#endif
|
||||
#endif
|
||||
td = (tar_dev_t *)calloc(1, sizeof(tar_dev_t));
|
||||
if (td == NULL)
|
||||
diff --git a/lib/encode.c b/lib/encode.c
|
||||
index 5ea29ff..c6ef39e 100644
|
||||
--- a/lib/encode.c
|
||||
+++ b/lib/encode.c
|
||||
@@ -144,12 +144,14 @@ th_set_link(TAR *t, const char *linkname)
|
||||
void
|
||||
th_set_device(TAR *t, dev_t device)
|
||||
{
|
||||
+#ifndef __HAIKU__
|
||||
#ifdef DEBUG
|
||||
printf("th_set_device(): major = %d, minor = %d\n",
|
||||
major(device), minor(device));
|
||||
#endif
|
||||
int_to_oct(major(device), t->th_buf.devmajor, 8);
|
||||
int_to_oct(minor(device), t->th_buf.devminor, 8);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
Reference in New Issue
Block a user