Patchwork gnu: Add darkhttpd.

login
register
mail settings
Submitter Leo Famulari
Date Sept. 14, 2016, 9:28 p.m.
Message ID <20160914212830.GA13338@jasmine>
Download mbox | patch
Permalink /patch/15646/
State New
Headers show

Comments

Leo Famulari - Sept. 14, 2016, 9:28 p.m.
On Wed, Sep 14, 2016 at 11:31:59AM +0530, Arun Isaac wrote:
> * gnu/packages/web.scm (darkhttpd): New variable.

Thanks for the updated patch!

> +       (uri (git-reference
> +             (url (string-append "https://unix4lyfe.org/git/darkhttpd"))
> +             (commit "41b68476c35270f47dcd2ddebe27cbcd87e43d41"))
                                                                    ^
There was a missing parentheses here -------------------------------|

> +       #:tests? #f ; No test suite

I found some tests! See attached. Part of the test suite wants some
static library from Clang / LLVM; I couldn't make that work in 5 minutes
so I gave up ;) I think it's okay to commit in this state.

What do you think?
From 8268e04b18292047ff1922a151ad7458b443b9a0 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Wed, 14 Sep 2016 11:31:59 +0530
Subject: [PATCH] gnu: Add darkhttpd.

* gnu/packages/web.scm (darkhttpd): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
---
 gnu/packages/web.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
Arun - Sept. 15, 2016, 6:17 a.m.
> I found some tests! See attached. Part of the test suite wants some
> static library from Clang / LLVM; I couldn't make that work in 5 minutes
> so I gave up ;) I think it's okay to commit in this state.

Yeah, the darkhttpd git repo has some test cases, but the release
tarball does not. Since we will be moving to the release tarball once
the release tarball URL problem is fixed upstream, I think we should not
do the test cases.
Leo Famulari - Sept. 15, 2016, 3:23 p.m.
On Thu, Sep 15, 2016 at 11:47:16AM +0530, Arun Isaac wrote:
> 
> > I found some tests! See attached. Part of the test suite wants some
> > static library from Clang / LLVM; I couldn't make that work in 5 minutes
> > so I gave up ;) I think it's okay to commit in this state.
> 
> Yeah, the darkhttpd git repo has some test cases, but the release
> tarball does not. Since we will be moving to the release tarball once
> the release tarball URL problem is fixed upstream, I think we should not
> do the test cases.

Okay, makes sense. Pushed as 797a5cf57f038e31e464afd5256a9faff5b46689

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b9c201d..14cdf49 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -14,6 +14,7 @@ 
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3633,3 +3634,46 @@  provides a unix command line interface to a variety of popular www search engine
 and similar services.")
     (home-page "https://surfraw.alioth.debian.org/")
     (license l:public-domain)))
+
+(define-public darkhttpd
+  (package
+    (name "darkhttpd")
+    (version "1.12")
+    (source
+     (origin
+       ;; The darkhttpd release tarball URL fails to download with a
+       ;; 'TLS warning alert'. Download from the darkhttpd git repo
+       ;; until the problem has been fixed upstream.
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append "https://unix4lyfe.org/git/darkhttpd"))
+             (commit "41b68476c35270f47dcd2ddebe27cbcd87e43d41")))
+       (sha256
+        (base32
+         "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k"))
+       (file-name (string-append name "-" version "-checkout"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python-2" ,python-2)))
+    (arguments
+     `(#:make-flags '("CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (install-file "darkhttpd"
+                           (string-append (assoc-ref outputs "out")
+                                          "/bin"))
+             #t))
+
+         ;; TODO Fix "***WARNING*** $CLANG \
+         ;; (/homeless-shelter/llvm/install/bin/clang) doesn't exist."
+         (replace 'check
+           (lambda _ (zero? (system* "make" "--directory" "devel")))))))
+    (synopsis "Simple static web server")
+    (description "darkhttpd is a simple static web server.  It is
+standalone and does not need inetd or ucspi-tcp.  It does not need any
+config files---you only have to specify the www root.")
+    (home-page "https://unix4lyfe.org/darkhttpd/")
+    (license l:isc)))