* gnu/packages/web.scm (httpfs2): New variable.
---
gnu/packages/web.scm | 62 +++-
1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 50a2e04..bfb2f8e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2016 Clément Lassieur
;;; Copyright © 2016 ng0
;;; Copyright © 2016 Arun Isaac
-;;; Copyright © 2016 Tobias Geerinckx-Rice
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice
;;; Copyright © 2016 Bake Timmons
;;;
;;; This file is part of GNU Guix.
@@ -68,6 +68,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages base)
@@ -3968,3 +3969,62 @@ useful for users behind restrictive firewalls. As long
as Web traffic is
allowed, even through a HTTP-only proxy, httptunnel can be combined with other
tools like SSH (Secure Shell) to reach the outside world.")
(license l:gpl2+)))
+
+(define-public httpfs2
+ (package
+(name "httpfs2")
+(version "0.1.5")
+(source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/httpfs/" name "/"
+ name "-" version ".tar.gz"))
+ (sha256
+(base32
+ "1h8ggvhw30n2r6w11n1s458ypggdqx6ldwd61ma4yd7binrlpjq1"
+(build-system gnu-build-system)
+(native-inputs
+ `(("asciidoc" ,asciidoc)
+ ("docbook-xml" ,docbook-xml)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("pkg-config" ,pkg-config)))
+(inputs
+ `(("fuse" ,fuse)
+ ("gnutls" ,gnutls)))
+(arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure); no configure script
+ (replace 'install
+ ;; There's no ‘install’ target. Install all variants manually.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(man1 (string-append out "/share/man/man1")))
+ (mkdir-p bin)
+ (mkdir-p man1)
+ (for-each
+(lambda (variant)
+ (let ((man1-page (string-append variant ".1")))
+(copy-file variant
+ (string-append bin "/" variant))
+(copy-file man1-page
+ (string-append man1 "/" man1-page
+(list "httpfs2"
+ "httpfs2-mt"
+ "httpfs2-ssl"
+ "httpfs2-ssl-mt"))
+ #:make-flags (list "CC=gcc")
+ #:parallel-build? #f ; can result in missing man pages
+ #:tests? #f)); no tests
+(home-page "https://sourceforge.net/projects/httpfs/;)
+(synopsis "Mount remote files over HTTP")
+(description "httpfs2 is a @code{fuse} file system for mounting any
+HyperText (HTTP or HTTPS) URL. It uses HTTP/1.1 byte ranges to request
+arbitrary bytes from the web server without needing to download the entire
+file. This is particularly useful with large archives such as ZIP files and
+ISO images when you only need to inspect their contents or extract specific
+files. Since the HTTP protocol itself has no notion of directories, only a
+single file can be mounted.")
+(license l:gpl2+)))
--
2.9.3