aboutsummaryrefslogtreecommitdiff
path: root/system/xar
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2023-11-18 20:25:17 -0500
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2023-11-25 22:12:45 +0700
commit83049cab394a398e97e2b43ce957c9279d7a3fa8 (patch)
tree9467db7bc429ed466ecb8b718dc509d7686d188c /system/xar
parent00ee73279b9200eb74691d43a86355af74d264e9 (diff)
downloadslackbuilds-83049cab394a398e97e2b43ce957c9279d7a3fa8.tar.xz
system/xar: Updated for version 1.8dev+498.
Signed-off-by: B. Watson <urchlay@slackware.uk> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/xar')
-rw-r--r--system/xar/patches/series7
-rw-r--r--system/xar/patches/xar-1.8.0.0.487-non-darwin.patch12
-rw-r--r--system/xar/patches/xar-1.8.0.0.487-variable-sized-object.patch18
-rw-r--r--system/xar/xar.SlackBuild35
-rw-r--r--system/xar/xar.info6
5 files changed, 63 insertions, 15 deletions
diff --git a/system/xar/patches/series b/system/xar/patches/series
new file mode 100644
index 000000000000..49d45200fe14
--- /dev/null
+++ b/system/xar/patches/series
@@ -0,0 +1,7 @@
+xar-1.6.1-ext2.patch
+xar-1.8-safe_dirname.patch
+xar-1.8-arm-ppc.patch
+xar-1.8-openssl-1.1.patch
+xar-1.8.0.0.452-linux.patch
+xar-1.8.0.0.487-non-darwin.patch
+xar-1.8.0.0.487-variable-sized-object.patch
diff --git a/system/xar/patches/xar-1.8.0.0.487-non-darwin.patch b/system/xar/patches/xar-1.8.0.0.487-non-darwin.patch
new file mode 100644
index 000000000000..c350f69f4ca0
--- /dev/null
+++ b/system/xar/patches/xar-1.8.0.0.487-non-darwin.patch
@@ -0,0 +1,12 @@
+don't do availability stuff on non-Darwin
+
+--- a/include/xar.h.in
++++ b/include/xar.h.in
+@@ -52,6 +52,7 @@
+ #import <os/availability.h>
+ #else
+ #define API_DEPRECATED(...)
++#define API_AVAILABLE(...)
+ #endif
+
+ #pragma pack(4)
diff --git a/system/xar/patches/xar-1.8.0.0.487-variable-sized-object.patch b/system/xar/patches/xar-1.8.0.0.487-variable-sized-object.patch
new file mode 100644
index 000000000000..8779c1129cd7
--- /dev/null
+++ b/system/xar/patches/xar-1.8.0.0.487-variable-sized-object.patch
@@ -0,0 +1,18 @@
+GCC doesn't like this:
+
+filetree.c:744:9: error: variable-sized object may not be initialized
+
+Since there's nothing changing at runtime at all, just make the compiler
+see it's always going to be 1.
+
+--- a/lib/filetree.c
++++ b/lib/filetree.c
+@@ -740,7 +740,7 @@
+ size_t fspath1_size = 0, fspath2_size = 0;
+ size_t ns1_size = 0, ns2_size = 0;
+ const struct __xar_file_t * child1 = NULL, * child2 = NULL;
+- const uint keys_to_ignore_count = 1;
++#define keys_to_ignore_count 1
+ char * keys_to_ignore[keys_to_ignore_count] = { "id" }; // ID is allowed ot mismatch
+
+ // If the two pointers match, call it the same.
diff --git a/system/xar/xar.SlackBuild b/system/xar/xar.SlackBuild
index 172f1ad76bda..242854f5c963 100644
--- a/system/xar/xar.SlackBuild
+++ b/system/xar/xar.SlackBuild
@@ -13,13 +13,15 @@
# bother me.
# The original google code project is dead, and so is mackyle's github
-# project. The Apple project might be deprecated, but it's still being
-# updated.
+# project. The Apple github project might be deprecated, but it's
+# still being updated (as of August 2023).
-# For some reason, gentoo and other distros want to give this the
-# version number "1.8.0.0.452". Dunno where the extra zeroes come
-# from. "xar --version" reports "1.8dev", the tarball's version
-# number is the SVN revision, 452...
+# For some reason, gentoo and other distros want to give this version
+# numbers like "1.8.0.0.452". Dunno where the extra zeroes come from.
+# "xar --version" reports "1.8dev", the tarball's version number
+# is the SVN revision (452, 498, etc).
+
+# 20231118 bkw: update for v498.
# 20230711 bkw: no script changes, just a note to myself: there's now
# a 496 tag, and it won't compile either.
@@ -37,8 +39,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=xar
-VERSION=${VERSION:-1.8dev+452}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.8dev+498}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -89,12 +91,21 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
cd $PRGNAM
-# patches came from gentoo:
-# https://gitweb.gentoo.org/repo/gentoo.git/tree/app-arch/xar
-for i in $CWD/patches/*.patch; do
- patch -p1 < $i
+# Patches came from liguros:
+# https://gitlab.com/liguros/liguros-repo/-/tree/stable/app-arch/xar
+for i in $( cat $CWD/patches/series ); do
+ patch -p1 < $CWD/patches/$i
done
+# This bit comes from liguros's xar-498.ebuild.
+sed -i 's/__APPLE__/__NO_APPLE__/' lib/hash.c lib/archive.h
+cp lib/*.h include
+
+# Make #include <xar/xar.h> include the one in the build dir, not
+# any system-wide one in /usr/include.
+mkdir include/xar
+ln -sf ../xar.h include/xar/xar.h
+
# -I doesn't affect #include "blah.h".
sed -i 's,"\(\(util\|filetree\)\.h\)",<\1>,' src/xar.c
diff --git a/system/xar/xar.info b/system/xar/xar.info
index d9a59c719585..86abd2cf83d0 100644
--- a/system/xar/xar.info
+++ b/system/xar/xar.info
@@ -1,8 +1,8 @@
PRGNAM="xar"
-VERSION="1.8dev+452"
+VERSION="1.8dev+498"
HOMEPAGE="https://opensource.apple.com/source/xar/"
-DOWNLOAD="https://github.com/apple-oss-distributions/xar/archive/xar-452/xar-xar-452.tar.gz"
-MD5SUM="2dd42db34c7a7050b5e8c58d81d791cf"
+DOWNLOAD="https://github.com/apple-oss-distributions/xar/archive/xar-498/xar-xar-498.tar.gz"
+MD5SUM="4a4bcc060d8e9a1678c39ee3b701c44b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""