pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/filesystems/fuse-httpdirfs



Module Name:    pkgsrc
Committed By:   vins
Date:           Sun May 10 16:32:05 UTC 2026

Added Files:
        pkgsrc/filesystems/fuse-httpdirfs: DESCR Makefile PLIST distinfo
        pkgsrc/filesystems/fuse-httpdirfs/patches: patch-meson.build
            patch-meson.build.orig patch-src_link.c

Log Message:
fuse-httpdirfs: initial import of package

HTTPDirFS stands for Hyper Text Transfer Protocol Directory Filesystem.
It allows to mount HTTP directory listings or a single file, using the
FUSE API.

The performance of the program is excellent. HTTP connections are reused
through curl-multi interface. The FUSE component runs in the
multithreaded mode. A permanent cache system caches all the file
segments you have downloaded, so you don't need to these segments again
if you access them later.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/filesystems/fuse-httpdirfs/DESCR \
    pkgsrc/filesystems/fuse-httpdirfs/Makefile \
    pkgsrc/filesystems/fuse-httpdirfs/PLIST \
    pkgsrc/filesystems/fuse-httpdirfs/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/filesystems/fuse-httpdirfs/patches/patch-meson.build \
    pkgsrc/filesystems/fuse-httpdirfs/patches/patch-meson.build.orig \
    pkgsrc/filesystems/fuse-httpdirfs/patches/patch-src_link.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/filesystems/fuse-httpdirfs/DESCR
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/DESCR:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/DESCR     Sun May 10 16:32:04 2026
@@ -0,0 +1,9 @@
+HTTPDirFS stands for Hyper Text Transfer Protocol Directory Filesystem.
+It allows to mount HTTP directory listings or a single file, using the
+FUSE API.
+
+The performance of the program is excellent. HTTP connections are reused
+through curl-multi interface. The FUSE component runs in the
+multithreaded mode. A permanent cache system caches all the file
+segments you have downloaded, so you don't need to these segments again
+if you access them later.
Index: pkgsrc/filesystems/fuse-httpdirfs/Makefile
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/Makefile:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/Makefile  Sun May 10 16:32:04 2026
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.1 2026/05/10 16:32:04 vins Exp $
+
+DISTNAME=      httpdirfs-1.2.8
+PKGNAME=       ${DISTNAME:S/^/fuse-/}
+CATEGORIES=    filesystems
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=fangfufu/}
+GITHUB_TAG=    ${PKGVERSION_NOREV}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/fangfufu/httpdirfs/
+COMMENT=       FUSE filesystem to mount HTTP directory listings
+LICENSE=       gnu-gpl-v3
+
+# Needs FUSE 3.0 API but refuse(3) in NetBSD 9 only supports 2.6
+NOT_FOR_PLATFORM+=     NetBSD-[0-9].*-*
+
+USE_TOOLS+=    pkg-config
+USE_FUSE3=     yes
+
+TOOL_DEPENDS+= help2man-[0-9]*:../../converters/help2man
+
+DOCDIR=                share/doc
+
+WRKSRC=                ${WRKDIR}/${DISTNAME}
+
+INSTALLATION_DIRS+=    ${DOCDIR}
+
+post-install:
+       ${INSTALL_DATA} ${WRKSRC}/README.md \
+               ${DESTDIR}${PREFIX}/${DOCDIR}
+
+.include "../../devel/libexecinfo/buildlink3.mk"
+.include "../../devel/libuuid/buildlink3.mk"
+.include "../../devel/meson/build.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../www/gumbo-parser/buildlink3.mk"
+.include "../../mk/fuse.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/filesystems/fuse-httpdirfs/PLIST
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/PLIST:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/PLIST     Sun May 10 16:32:05 2026
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1 2026/05/10 16:32:05 vins Exp $
+bin/httpdirfs
+man/man1/httpdirfs.1
+share/doc/README.md
Index: pkgsrc/filesystems/fuse-httpdirfs/distinfo
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/distinfo:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/distinfo  Sun May 10 16:32:05 2026
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2026/05/10 16:32:05 vins Exp $
+
+BLAKE2s (httpdirfs-1.2.8.tar.gz) = ac0bcfa6d0a1253274218915fccf7b37fbcb13b0ebd7bb60a4e33bc9cfb494e7
+SHA512 (httpdirfs-1.2.8.tar.gz) = 7628e85ab81b100f151a50b2b54cde67e73c32f24f2335df5d3b239b44ea28011e54f632ab13b397ade931124b1008bd46b2baed556467c0657d0315acb4f50c
+Size (httpdirfs-1.2.8.tar.gz) = 90590 bytes
+SHA1 (patch-meson.build) = 9c902ed4432c2ad98f759d406054119fed646f62
+SHA1 (patch-src_link.c) = aae5ae015988f2a4a1a9e25fd0c532a60410c4ea

Index: pkgsrc/filesystems/fuse-httpdirfs/patches/patch-meson.build
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/patches/patch-meson.build:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/patches/patch-meson.build Sun May 10 16:32:05 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-meson.build,v 1.1 2026/05/10 16:32:05 vins Exp $
+
+Install man page by default.
+
+--- meson.build.orig   2026-05-10 02:41:37.000000000 +0000
++++ meson.build
+@@ -49,7 +49,7 @@ httpdirfs = executable('httpdirfs',
+     install_dir: get_option('bindir'),
+ )
+ 
+-if (host_machine.system() == 'linux')
++if (host_machine.system() != 'dummy')
+     help2man = find_program('help2man', required: false)
+       if help2man.found()
+               help2man_opts = [
Index: pkgsrc/filesystems/fuse-httpdirfs/patches/patch-src_link.c
diff -u /dev/null pkgsrc/filesystems/fuse-httpdirfs/patches/patch-src_link.c:1.1
--- /dev/null   Sun May 10 16:32:05 2026
+++ pkgsrc/filesystems/fuse-httpdirfs/patches/patch-src_link.c  Sun May 10 16:32:05 2026
@@ -0,0 +1,56 @@
+$NetBSD: patch-src_link.c,v 1.1 2026/05/10 16:32:05 vins Exp $
+
+* Fix attribute warnings when building with curl 8.18.
+* Fix signedness mismatch warning on 32bit.
+
+--- src/link.c.orig    2026-05-10 02:41:37.000000000 +0000
++++ src/link.c
+@@ -66,14 +66,14 @@ static CURL *Link_to_curl(Link *link)
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+-    ret = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
++    ret = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+     /*
+      * for following directories without the '/'
+      */
+-    ret = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 2);
++    ret = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 2L);
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+@@ -81,11 +81,11 @@ static CURL *Link_to_curl(Link *link)
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+-    ret = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1);
++    ret = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+-    ret = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 15);
++    ret = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 15L);
+     if (ret) {
+         lprintf(error, "%s", curl_easy_strerror(ret));
+     }
+@@ -117,7 +117,7 @@ static CURL *Link_to_curl(Link *link)
+         }
+     }
+     if (CONFIG.insecure_tls) {
+-        ret = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
++        ret = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
+         if (ret) {
+             lprintf(error, "%s", curl_easy_strerror(ret));
+         }
+@@ -1054,7 +1054,7 @@ static CURL *Link_download_curl_setup(
+     size_t end = start + req_size - 1;
+ 
+     char range_str[64];
+-    snprintf(range_str, sizeof(range_str), "%lu-%lu", start, end);
++    snprintf(range_str, sizeof(range_str), "%zu-%zu", start, end);
+     lprintf(debug, "%s: %s\n", link->linkname, range_str);
+ 
+     CURL *curl = Link_to_curl(link);



Home | Main Index | Thread Index | Old Index