[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] gnu: Add httpfs2.
From: |
Tobias Geerinckx-Rice |
Subject: |
[PATCH] gnu: Add httpfs2. |
Date: |
Tue, 3 Jan 2017 22:04:41 +0100 |
* 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 <address@hidden>
;;; Copyright © 2016 ng0 <address@hidden>
;;; Copyright © 2016 Arun Isaac <address@hidden>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <address@hidden>
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <address@hidden>
;;; Copyright © 2016 Bake Timmons <address@hidden>
;;;
;;; 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
- [PATCH] gnu: Add httpfs2.,
Tobias Geerinckx-Rice <=