unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Tobias Geerinckx-Rice <me@tobias.gr>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: Add httpfs2.
Date: Tue,  3 Jan 2017 22:04:41 +0100	[thread overview]
Message-ID: <20170103210441.2770-1-me@tobias.gr> (raw)

* 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 <clement@lassieur.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
 ;;;
 ;;; 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

             reply	other threads:[~2017-01-03 21:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-03 21:04 Tobias Geerinckx-Rice [this message]
2017-01-04  4:20 ` [PATCH] gnu: Add httpfs2 Leo Famulari
2017-01-04  4:37   ` Tobias Geerinckx-Rice
2017-01-04  4:55     ` Tobias Geerinckx-Rice
2017-01-04  5:02       ` Tobias Geerinckx-Rice
2017-01-04  5:05       ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170103210441.2770-1-me@tobias.gr \
    --to=me@tobias.gr \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).