summaryrefslogtreecommitdiff
path: root/user/wimlib
diff options
context:
space:
mode:
Diffstat (limited to 'user/wimlib')
-rw-r--r--user/wimlib/APKBUILD19
-rw-r--r--user/wimlib/header.patch29
-rw-r--r--user/wimlib/pc-fuse3.patch31
3 files changed, 75 insertions, 4 deletions
diff --git a/user/wimlib/APKBUILD b/user/wimlib/APKBUILD
index 76e26f88e..a4e365ea6 100644
--- a/user/wimlib/APKBUILD
+++ b/user/wimlib/APKBUILD
@@ -1,16 +1,25 @@
# Contributor: CyberLeo <cyberleo@cyberleo.net>
# Maintainer: CyberLeo <cyberleo@cyberleo.net>
pkgname=wimlib
-pkgver=1.13.4
+pkgver=1.14.4
pkgrel=0
pkgdesc="Windows Imaging (WIM) archive manipulation library and tools"
url="https://wimlib.net/"
arch="all"
+# If the test suite crosses a clock-second boundary, the test will fail
+# because the mtime of the src and dest will vary by 1s. The test suite
+# then hangs waiting for the mount to umount, requiring manual operator
+# intervention. The tests pass on ppc64, ppc, x86_64 for me when timed
+# correctly, so for now we disable tests.
+options="!check"
license="(GPL-2.0 OR LGPL-2.1) AND CC0"
depends=""
-makedepends="libxml2-dev fuse-dev ntfs-3g ntfs-3g-dev"
+makedepends="fuse3-dev ntfs-3g ntfs-3g-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
-source="https://wimlib.net/downloads/wimlib-$pkgver.tar.gz"
+source="https://wimlib.net/downloads/wimlib-$pkgver.tar.gz
+ header.patch
+ pc-fuse3.patch
+ "
build() {
./configure \
@@ -26,4 +35,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="480fe6fa6c6e8f1bf9c3960f5e1671f3266535b18dc72e9d7c4c05c7fb833d9b00db5ae9fb49154da6e71e536cae8b562cbf81ab5a124e2a79326927e2cf7344 wimlib-1.13.4.tar.gz"
+sha512sums="f3c25ee14fe849f452f004ce8137ef040410ea048555ae71180086f010858b6ed593c8881b805bac65f9ee878bf11661a7f17677c6c24e2c77149c35ee0cd853 wimlib-1.14.4.tar.gz
+25a410614b4d4a16f16149c09bb1107a5678d49b729ecb55fe5641727556f6eb8a0e3473331ae738e3747652674d78c32be0d6da57c2aa414bd9fc636c27997e header.patch
+e58429f3256e85e39558920be295c93645ec0584cf71282e01102c62b05b51fab1c3c1b62a8edb7be8bfc2427d2464400154ca05ad07e02548cad140f781aa7f pc-fuse3.patch"
diff --git a/user/wimlib/header.patch b/user/wimlib/header.patch
new file mode 100644
index 000000000..71255d446
--- /dev/null
+++ b/user/wimlib/header.patch
@@ -0,0 +1,29 @@
+This patch should be removed once the following musl commit lands:
+
+https://git.musl-libc.org/cgit/musl/commit\
+/include/stdio.h?id=05ce67fea99ca09cd4b6625cff7aec9cc222dd5a
+
+These macros are also exposed via <linux/fs.h>.
+
+diff -ur a/src/mount_image.c b/src/mount_image.c
+--- a/src/mount_image.c 2024-12-11 21:13:37.806412788 -0600
++++ b/src/mount_image.c 2024-12-11 21:18:32.528640110 -0600
+@@ -53,6 +53,18 @@
+ #include <unistd.h>
+ #include <utime.h>
+
++#if defined(_GNU_SOURCE)
++#ifndef RENAME_NOREPLACE
++#define RENAME_NOREPLACE (1 << 0)
++#endif
++#ifndef RENAME_EXCHANGE
++#define RENAME_EXCHANGE (1 << 1)
++#endif
++#ifndef RENAME_WHITEOUT
++#define RENAME_WHITEOUT (1 << 2)
++#endif
++#endif
++
+ #include "wimlib/blob_table.h"
+ #include "wimlib/dentry.h"
+ #include "wimlib/encoding.h"
diff --git a/user/wimlib/pc-fuse3.patch b/user/wimlib/pc-fuse3.patch
new file mode 100644
index 000000000..9c8743b31
--- /dev/null
+++ b/user/wimlib/pc-fuse3.patch
@@ -0,0 +1,31 @@
+The pkgconfig file for fuse3 is called fuse3, not fuse.
+
+Otherwise, we get:
+
+>>> WARNING: wimlib-dev*: Could not find any provider for pc:fuse
+
+We can't patch the .ac file because it hardcodes the git version and decides
+that this is wimlib 1.0-BETA6 (or whatever).
+
+#--- wimlib-1.14.4/configure.ac.old 2024-02-09 17:36:25.000000000 -0600
+#+++ wimlib-1.14.4/configure.ac 2024-12-11 21:27:27.638385598 -0600
+#@@ -156,7 +156,7 @@
+# disable this feature. If your operating system packages
+# development files separately, the package you need to install
+# may be called libfuse3-dev, fuse-devel, or similar.])])
+#- PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse"
+#+ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse3"
+# AC_DEFINE([WITH_FUSE], [1], [Define to 1 if using FUSE support])
+#
+# AC_CHECK_LIB([rt], [mq_open], [],
+--- wimlib-1.14.4/configure.old 2024-02-24 12:41:27.000000000 -0600
++++ wimlib-1.14.4/configure 2024-12-11 21:27:48.176175338 -0600
+@@ -16032,7 +16032,7 @@
+ printf "%s\n" "yes" >&6; }
+
+ fi
+- PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse"
++ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse3"
+
+ printf "%s\n" "#define WITH_FUSE 1" >>confdefs.h
+