unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add httpfs2.
@ 2017-01-03 21:04 Tobias Geerinckx-Rice
  2017-01-04  4:20 ` Leo Famulari
  0 siblings, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-01-03 21:04 UTC (permalink / raw)
  To: guix-devel

* 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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add httpfs2.
  2017-01-03 21:04 [PATCH] gnu: Add httpfs2 Tobias Geerinckx-Rice
@ 2017-01-04  4:20 ` Leo Famulari
  2017-01-04  4:37   ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 6+ messages in thread
From: Leo Famulari @ 2017-01-04  4:20 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

On Tue, Jan 03, 2017 at 10:04:41PM +0100, Tobias Geerinckx-Rice wrote:
> * gnu/packages/web.scm (httpfs2): New variable.

LGTM, thanks!

If you wanted to do extra work, I think it would also fit in a new FUSE
package module.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add httpfs2.
  2017-01-04  4:20 ` Leo Famulari
@ 2017-01-04  4:37   ` Tobias Geerinckx-Rice
  2017-01-04  4:55     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-01-04  4:37 UTC (permalink / raw)
  To: leo; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 428 bytes --]

Leo,

On 04/01/17 05:20, Leo Famulari wrote:
> If you wanted to do extra work, I think it would also fit in a new FUSE
> package module.

Eh, why not. It's that or study.

I confess to trying ‘gnu/packages/f<TAB><TAB><Hmm>’ before settling on
web.scm, so that would certainly be more intuitive.

(I was also disappointed to find out that fuse is in linux.scm for a
reason. Oh well.)

Kind regards,

T G-R


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 476 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add httpfs2.
  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
  0 siblings, 2 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-01-04  4:55 UTC (permalink / raw)
  To: leo; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 381 bytes --]

Leo & others,

On 04/01/17 05:37, Tobias Geerinckx-Rice wrote:
> On 04/01/17 05:20, Leo Famulari wrote:
>> If you wanted to do extra work, I think it would also fit in a new FUSE
>> package module.
> 
> Eh, why not. It's that or study.

...or file-systems.scm?

I'm ambivalent about implementation choice being the right abstraction
level.

Kind regards,

T G-R


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 476 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add httpfs2.
  2017-01-04  4:55     ` Tobias Geerinckx-Rice
@ 2017-01-04  5:02       ` Tobias Geerinckx-Rice
  2017-01-04  5:05       ` Leo Famulari
  1 sibling, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-01-04  5:02 UTC (permalink / raw)
  To: leo; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 391 bytes --]

On 04/01/17 05:55, Tobias Geerinckx-Rice wrote:
> ...or file-systems.scm?

Thinking about it more, I think that's the right thing to do.

It's not the first time I've expected it to exist, and it would fill out
nicely with packages like btrfs and ntfs-3g which always felt out of
place to me in linux.scm.

I'll start on a patch unless someone objects.

Kind regards,

T G-R


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 476 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add httpfs2.
  2017-01-04  4:55     ` Tobias Geerinckx-Rice
  2017-01-04  5:02       ` Tobias Geerinckx-Rice
@ 2017-01-04  5:05       ` Leo Famulari
  1 sibling, 0 replies; 6+ messages in thread
From: Leo Famulari @ 2017-01-04  5:05 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 556 bytes --]

On Wed, Jan 04, 2017 at 05:55:22AM +0100, Tobias Geerinckx-Rice wrote:
> Leo & others,
> 
> On 04/01/17 05:37, Tobias Geerinckx-Rice wrote:
> > On 04/01/17 05:20, Leo Famulari wrote:
> >> If you wanted to do extra work, I think it would also fit in a new FUSE
> >> package module.
> > 
> > Eh, why not. It's that or study.
> 
> ...or file-systems.scm?
> 
> I'm ambivalent about implementation choice being the right abstraction
> level.

Fair point. It's up to you. I merely thought that the web module was not
perfect for this package :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-01-04  5:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-03 21:04 [PATCH] gnu: Add httpfs2 Tobias Geerinckx-Rice
2017-01-04  4:20 ` 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

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).