From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: [PATCH] gnu: Add httpfs2. Date: Tue, 3 Jan 2017 22:04:41 +0100 Message-ID: <20170103210441.2770-1-me@tobias.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cOWG8-0004ds-9L for guix-devel@gnu.org; Tue, 03 Jan 2017 16:04:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cOWG2-0000c3-Su for guix-devel@gnu.org; Tue, 03 Jan 2017 16:04:40 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:60383) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cOWG2-0000bp-Mg for guix-devel@gnu.org; Tue, 03 Jan 2017 16:04:34 -0500 Received: from mfilter38-d.gandi.net (mfilter38-d.gandi.net [217.70.178.169]) by relay4-d.mail.gandi.net (Postfix) with ESMTP id BE1C51720B8 for ; Tue, 3 Jan 2017 22:04:32 +0100 (CET) Received: from relay4-d.mail.gandi.net ([IPv6:::ffff:217.70.183.196]) by mfilter38-d.gandi.net (mfilter38-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id Ps-P_9zBRcT6 for ; Tue, 3 Jan 2017 22:04:30 +0100 (CET) Received: from localhost.localdomain (unknown [109.128.126.255]) (Authenticated sender: me@tobias.gr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id CB05517209A for ; Tue, 3 Jan 2017 22:04:30 +0100 (CET) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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