summaryrefslogtreecommitdiff
path: root/filesystems
diff options
context:
space:
mode:
authorpho <pho@pkgsrc.org>2022-01-22 18:52:11 +0000
committerpho <pho@pkgsrc.org>2022-01-22 18:52:11 +0000
commit2540442c08e4fe5f5064093029fcc54f2d3e6818 (patch)
tree4e85ce54417149120a4daf01924306b6ba6861b1 /filesystems
parent91e2241e6d94437cc1588224d4a585133be44100 (diff)
downloadpkgsrc-2540442c08e4fe5f5064093029fcc54f2d3e6818.tar.gz
Conditionalise workarounds for old NetBSD librefuse
Diffstat (limited to 'filesystems')
-rw-r--r--filesystems/py-fuse-bindings/Makefile4
-rw-r--r--filesystems/py-fuse-bindings/distinfo4
-rw-r--r--filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c34
3 files changed, 23 insertions, 19 deletions
diff --git a/filesystems/py-fuse-bindings/Makefile b/filesystems/py-fuse-bindings/Makefile
index b4efd9f3b9e..acb5b23a4ce 100644
--- a/filesystems/py-fuse-bindings/Makefile
+++ b/filesystems/py-fuse-bindings/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.22 2022/01/04 20:53:51 wiz Exp $
+# $NetBSD: Makefile,v 1.23 2022/01/22 18:52:11 pho Exp $
VERSION= 1.0.4
DISTNAME= fuse-python-${VERSION}
PKGNAME= ${PYPKGPREFIX}-fuse-bindings-${VERSION}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= filesystems python
MASTER_SITES= ${MASTER_SITE_PYPI:=f/fuse-python/}
diff --git a/filesystems/py-fuse-bindings/distinfo b/filesystems/py-fuse-bindings/distinfo
index 3dc0626b940..6eb6c3bc059 100644
--- a/filesystems/py-fuse-bindings/distinfo
+++ b/filesystems/py-fuse-bindings/distinfo
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.6 2021/11/30 05:25:57 pho Exp $
+$NetBSD: distinfo,v 1.7 2022/01/22 18:52:11 pho Exp $
BLAKE2s (fuse-python-1.0.4.tar.gz) = 32f3c1aeaf619880a0a366866b3e7650924b66eaafa187d6081dc3c94e1ac568
SHA512 (fuse-python-1.0.4.tar.gz) = 12696c78f75591e56e00ca1e2a93b214993b939cac2e7aae5dc6d8e69dc1aa034f0244a876c9ff2fb7e49b928b7ff84b281fd98d8f3fe67140be33d7ea5fea20
Size (fuse-python-1.0.4.tar.gz) = 49009 bytes
-SHA1 (patch-fuseparts___fusemodule.c) = b41472254c8db0f996e2a6691dbc6cc317285544
+SHA1 (patch-fuseparts___fusemodule.c) = a928bc35a6bf70460c37fc3f9db1ff5edc1a1d01
diff --git a/filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c b/filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c
index 07f07ceec6d..06d44b8a0f8 100644
--- a/filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c
+++ b/filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c
@@ -1,13 +1,17 @@
-$NetBSD: patch-fuseparts___fusemodule.c,v 1.2 2021/11/30 05:25:58 pho Exp $
+$NetBSD: patch-fuseparts___fusemodule.c,v 1.3 2022/01/22 18:52:11 pho Exp $
-/*
- * This patch is not known to be filed upstream.
- *
- * It adapts for NetBSD's (re)fuse implementation, specifically
- * the lack of an attribute (rdev)
- * the lack of fuse_loop_mt(), fuse_invalidate(), fuse_setup(), and fuse_teardown()
- * the lack of polling support
- */
+Hunk #0:
+ Workaround for NetBSD librefuse that had an API incompatible with
+ FUSE. Already fixed in HEAD.
+
+Hunk #1:
+ "os.stat()" doesn't always return st_rdev on all platforms. Do not
+ assume it exists.
+
+Hunk #2, #3:
+ The polling support has appeared on FUSE 2.8 but this module
+ defines FUSE_USE_VERSION to 26. ReFUSE doesn't expose the polling
+ API in this case. Eligible for upstreaming but haven't been done.
--- fuseparts/_fusemodule.c.orig 2021-05-02 06:20:20.000000000 +0000
+++ fuseparts/_fusemodule.c
@@ -15,19 +19,19 @@ $NetBSD: patch-fuseparts___fusemodule.c,v 1.2 2021/11/30 05:25:58 pho Exp $
to fix compilation errors on FreeBSD
Mikhail Zakharov <zmey20000@thoo.com> 2018.10.22 */
-+#if defined(__NetBSD__)
++#if defined(__NetBSD__) && FUSE_H_ < 20211204
+
-+/* NetBSD librefuse doesn't support fuse_loop_mt() yet. Use the
++/* NetBSD librefuse didn't support fuse_loop_mt(). Use the
+ * single-threaded loop instead. This is harmless, only a missed
+ * opportunity for performance gain. */
+# define fuse_loop_mt(fuse) fuse_loop(fuse)
+
-+/* NetBSD librefuse doesn't support fuse_invalidate() yet. Make it
++/* NetBSD librefuse didn't support fuse_invalidate(). Make it
+ * no-op. This too is harmless because librefuse caches nothing
+ * atm. */
+# define fuse_invalidate(fuse, path) 0
+
-+/* fuse_setup() has been superseded by fuse_new(). */
++/* fuse_setup() had once been removed.. */
+#include <fuse_lowlevel.h>
+#include <signal.h>
+
@@ -131,7 +135,7 @@ $NetBSD: patch-fuseparts___fusemodule.c,v 1.2 2021/11/30 05:25:58 pho Exp $
+ return fuse;
+}
+
-+/* fuse_teardown() has been removed. */
++/* fuse_teardown() had once been removed. */
+static void fuse_teardown(
+ struct fuse *fuse,
+ char *mountpoint __attribute__((__unused__)))
@@ -140,7 +144,7 @@ $NetBSD: patch-fuseparts___fusemodule.c,v 1.2 2021/11/30 05:25:58 pho Exp $
+ fuse_unmount(fuse);
+ fuse_destroy(fuse);
+}
-+#endif /* defined(__NetBSD__) */
++#endif /* defined(__NetBSD__) && FUSE_H_ < 20211204 */
+
#define _IOC_NRBITS 8
#define _IOC_TYPEBITS 8