diff mbox

gnu: Add darkhttpd.

Message ID 20160909195623.12889-1-arunisaac@systemreboot.net
State New
Headers show

Commit Message

Arun Sept. 9, 2016, 7:56 p.m. UTC
* gnu/packages/web.scm (darkhttpd): New variable.
---
 gnu/packages/web.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Leo Famulari Sept. 9, 2016, 8:41 p.m. UTC | #1
On Sat, Sep 10, 2016 at 01:26:23AM +0530, Arun Isaac wrote:
> * gnu/packages/web.scm (darkhttpd): New variable.

Hi, thank you for this patch!

> +     `(#:tests? #f

When we disable the tests, we have to leave a comment explaining why. It
can be as simple as "No test suite" if that is the case.

> +         (replace 'configure
> +           (lambda _ (setenv "CC" "gcc")))

This has the effect of setting the CC variable and skipping any other
'configure' actions. Is this intended? If there is no './configure'
script or similar tool, this environment variable could be set in
#:make-flags or in a 'setenv' phase.

> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
> +               (mkdir-p bin)
> +               (copy-file "darkhttpd" (string-append bin "/darkhttpd"))))))))

mkdir-p and copy-file and be replaced with install-file.

> +    (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.")

You can make an 'em dash' in Texinfo like this:
"...config files---you only..."

> +    (home-page "https://unix4lyfe.org/darkhttpd/")
> +    (license l:bsd-2)))

The license on the main source file is the ISC license:
https://unix4lyfe.org/gitweb/darkhttpd/blob/HEAD:/darkhttpd.c

Can you send an updated patch?
Arun Sept. 10, 2016, 5:19 a.m. UTC | #2
> Can you send an updated patch?

Sure, I'll make the changes and send an updated patch soon.
diff mbox

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 20c7d12..261eed2 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,36 @@  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
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append "https://unix4lyfe.org/git/darkhttpd"))
+             (commit "master")))
+       (sha256
+        (base32
+         "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k"))
+       (file-name (string-append name "-" version))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _ (setenv "CC" "gcc")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+               (mkdir-p bin)
+               (copy-file "darkhttpd" (string-append bin "/darkhttpd"))))))))
+    (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:bsd-2)))