unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add httpd
@ 2013-09-29 14:42 Aljosha Papsch
  2013-09-29 17:19 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Aljosha Papsch @ 2013-09-29 14:42 UTC (permalink / raw)
  To: guix-devel


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

Hi,

attached is a patch for Apache httpd.  I named the module web, so other
web servers might go in there (maybe merge in libmicrohttpd?).

I hope the format is alright. It's just the output of git format-patch.

Best regards.

-- 
GPG: 4F20BC96
http://rpapsch.de/gpg.asc


[-- Attachment #1.2: 0001-gnu-Add-httpd.patch --]
[-- Type: text/x-patch, Size: 3771 bytes --]

From a54ae468ab008bad21e5d1069ee36a0eaa0ee40a Mon Sep 17 00:00:00 2001
From: Aljosha Papsch <misc@rpapsch.de>
Date: Sun, 29 Sep 2013 16:30:19 +0200
Subject: [PATCH] gnu: Add httpd * gnu/packages/web.scm (httpd): New variable *
 gnu-system.am (GNU_SYSTEM_MODULES): Add it

---
 gnu-system.am        |  1 +
 gnu/packages/web.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 gnu/packages/web.scm

diff --git a/gnu-system.am b/gnu-system.am
index 973ba77..f3c0e7d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -172,6 +172,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/vpn.scm				\
   gnu/packages/w3m.scm				\
   gnu/packages/wdiff.scm			\
+  gnu/packages/web.scm                          \
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
   gnu/packages/wordnet.scm			\
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
new file mode 100644
index 0000000..88dac84
--- /dev/null
+++ b/gnu/packages/web.scm
@@ -0,0 +1,64 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages web)
+  #:use-module ((guix licenses)
+		#:renamer (symbol-prefix-proc 'l:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages apr)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages pcre))
+
+(define-public httpd
+  (package
+   (name "httpd")
+   (version "2.4.6")
+   (source (origin
+	    (method url-fetch)
+	    (uri (string-append "mirror://apache/httpd/httpd-"
+				version ".tar.bz2"))
+	    (sha256
+	     (base32
+	      "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))
+   (build-system gnu-build-system)
+   (inputs `(("apr", apr)
+	     ("apr-util", apr-util)
+             ("openssl", openssl)
+             ("pcre", pcre)))
+   (arguments
+    `(#:tests? #f
+      #:configure-flags (list "--enable-rewrite"
+                              "--enable-userdir"
+                              "--enable-vhost-alias"
+                              "--enable-ssl"
+                              "--enable-mime-magic"
+                              (string-append "--sysconfdir="
+                                             (assoc-ref %outputs "out")
+                                             "/etc/httpd"))))
+   (synopsis "A robust, commercial-grade, featureful HTTP server")
+   (description
+    "The Apache HTTP Server Project is a collaborative software development
+effort aimed at creating a robust, commercial-grade, featureful, and
+freely-available source code implementation of an HTTP (Web) server. The project
+is jointly managed by a group of volunteers located around the world, using the
+Internet and the Web to communicate, plan, and develop the server and its
+related documentation.")
+   (license l:asl2.0)
+   (home-page "https://httpd.apache.org/")))
-- 
1.8.3.1


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

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

* Re: [PATCH] gnu: Add httpd
  2013-09-29 14:42 [PATCH] gnu: Add httpd Aljosha Papsch
@ 2013-09-29 17:19 ` Ludovic Courtès
  2013-09-29 18:26   ` Ludovic Courtès
  2013-09-29 19:01   ` Aljosha Papsch
  0 siblings, 2 replies; 4+ messages in thread
From: Ludovic Courtès @ 2013-09-29 17:19 UTC (permalink / raw)
  To: Aljosha Papsch; +Cc: guix-devel

Hi,

Thanks for joining the hackathon!

Aljosha Papsch <lists@rpapsch.de> skribis:

> attached is a patch for Apache httpd.  I named the module web, so other
> web servers might go in there (maybe merge in libmicrohttpd?).

Yes, makes sense.

> I hope the format is alright. It's just the output of git format-patch.

It’s good overall.  Just a couple of minor suggestions in-line, and then
we can commit it:

> From a54ae468ab008bad21e5d1069ee36a0eaa0ee40a Mon Sep 17 00:00:00 2001
> From: Aljosha Papsch <misc@rpapsch.de>
> Date: Sun, 29 Sep 2013 16:30:19 +0200
> Subject: [PATCH] gnu: Add httpd * gnu/packages/web.scm (httpd): New variable *
>  gnu-system.am (GNU_SYSTEM_MODULES): Add it

Please just write just “Add httpd” in the subject line, and write the
rest of the log in the body, one line per thing.

Here’s an example:

> +(define-public httpd
> +  (package
> +   (name "httpd")
> +   (version "2.4.6")
> +   (source (origin
> +	    (method url-fetch)
> +	    (uri (string-append "mirror://apache/httpd/httpd-"
> +				version ".tar.bz2"))
> +	    (sha256
> +	     (base32
> +	      "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))

Please do not use tabs in .scm files (for Emacs there’s a .dir-locals.el
file that should set it up.)

> +   (arguments
> +    `(#:tests? #f

Usually we try to fix any test suite issues, but sometimes we end up
disabling it altogether when that’s really too much effort or when we’re
waiting for feedback from upstream.

What problems did you encounter?  A typical issue with networking
packages is that tests try to perform DNS lookups, which doesn’t work in
our chroot build environment.  Often that can be worked around, for
instance by replacing ‘localhost’ with ‘127.0.0.1’.

> +      #:configure-flags (list "--enable-rewrite"
> +                              "--enable-userdir"
> +                              "--enable-vhost-alias"
> +                              "--enable-ssl"
> +                              "--enable-mime-magic"
> +                              (string-append "--sysconfdir="
> +                                             (assoc-ref %outputs "out")
> +                                             "/etc/httpd"))))
> +   (synopsis "A robust, commercial-grade, featureful HTTP server")

“Featureful HTTP server” should be enough.

Thanks!

Ludo’.

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

* Re: [PATCH] gnu: Add httpd
  2013-09-29 17:19 ` Ludovic Courtès
@ 2013-09-29 18:26   ` Ludovic Courtès
  2013-09-29 19:01   ` Aljosha Papsch
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2013-09-29 18:26 UTC (permalink / raw)
  To: Aljosha Papsch; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) skribis:

>> From a54ae468ab008bad21e5d1069ee36a0eaa0ee40a Mon Sep 17 00:00:00 2001
>> From: Aljosha Papsch <misc@rpapsch.de>
>> Date: Sun, 29 Sep 2013 16:30:19 +0200
>> Subject: [PATCH] gnu: Add httpd * gnu/packages/web.scm (httpd): New variable *
>>  gnu-system.am (GNU_SYSTEM_MODULES): Add it
>
> Please just write just “Add httpd” in the subject line, and write the
> rest of the log in the body, one line per thing.
>
> Here’s an example:

Here it is, really:
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=ab4fab19380138df582fdde846e7524481964c1a .

Ludo’.

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

* Re: [PATCH] gnu: Add httpd
  2013-09-29 17:19 ` Ludovic Courtès
  2013-09-29 18:26   ` Ludovic Courtès
@ 2013-09-29 19:01   ` Aljosha Papsch
  1 sibling, 0 replies; 4+ messages in thread
From: Aljosha Papsch @ 2013-09-29 19:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


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

Am Sonntag, den 29.09.2013, 19:19 +0200 schrieb Ludovic Courtès:
> Hi,
> Please just write just “Add httpd” in the subject line, and write the
> rest of the log in the body, one line per thing.

I guess I forgot a newline, fixed.

> Please do not use tabs in .scm files (for Emacs there’s a .dir-locals.el
> file that should set it up.)

I began writing the file outside the Guix tree, so Emacs didn't pick it
up. Fixed as well.

> > +   (arguments
> > +    `(#:tests? #f
> 
> Usually we try to fix any test suite issues, but sometimes we end up
> disabling it altogether when that’s really too much effort or when we’re
> waiting for feedback from upstream.
> 
> What problems did you encounter?  A typical issue with networking
> packages is that tests try to perform DNS lookups, which doesn’t work in
> our chroot build environment.  Often that can be worked around, for
> instance by replacing ‘localhost’ with ‘127.0.0.1’.

I didn't encounter any problems.  Httpd only provides a „test“ target,
which does nothing:

starting phase `check'
make: Nothing to be done for `test'.
phase `check' succeeded after 0 seconds

I changed it to #:test-target "test" though.

> “Featureful HTTP server” should be enough.

Changed as well. The new patch is attached.

Best regards.

-- 
GPG: 4F20BC96
http://rpapsch.de/gpg.asc


[-- Attachment #1.2: 0001-Add-httpd.patch --]
[-- Type: text/x-patch, Size: 3860 bytes --]

From 2ddaaafbed231b9d2c1e8506e8da7a9c97b01297 Mon Sep 17 00:00:00 2001
From: Aljosha Papsch <misc@rpapsch.de>
Date: Sun, 29 Sep 2013 20:55:47 +0200
Subject: [PATCH] Add httpd

* gnu/packages/web.scm (httpd): New variable
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
---
 gnu-system.am        |  1 +
 gnu/packages/web.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 gnu/packages/web.scm

diff --git a/gnu-system.am b/gnu-system.am
index 973ba77..f3c0e7d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -172,6 +172,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/vpn.scm				\
   gnu/packages/w3m.scm				\
   gnu/packages/wdiff.scm			\
+  gnu/packages/web.scm                          \
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
   gnu/packages/wordnet.scm			\
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
new file mode 100644
index 0000000..b967a91
--- /dev/null
+++ b/gnu/packages/web.scm
@@ -0,0 +1,64 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages web)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'l:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages apr)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages pcre))
+
+(define-public httpd
+  (package
+    (name "httpd")
+    (version "2.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://apache/httpd/httpd-"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))
+    (build-system gnu-build-system)
+    (inputs `(("apr" ,apr)
+              ("apr-util" ,apr-util)
+              ("openssl" ,openssl)
+              ("pcre" ,pcre)))
+    (arguments
+     `(#:test-target "test"
+       #:configure-flags (list "--enable-rewrite"
+                               "--enable-userdir"
+                               "--enable-vhost-alias"
+                               "--enable-ssl"
+                               "--enable-mime-magic"
+                               (string-append "--sysconfdir="
+                                              (assoc-ref %outputs "out")
+                                              "/etc/httpd"))))
+    (synopsis "Featureful HTTP server")
+    (description
+     "The Apache HTTP Server Project is a collaborative software development
+effort aimed at creating a robust, commercial-grade, featureful, and
+freely-available source code implementation of an HTTP (Web) server. The project
+is jointly managed by a group of volunteers located around the world, using the
+Internet and the Web to communicate, plan, and develop the server and its
+related documentation.")
+    (license l:asl2.0)
+    (home-page "https://httpd.apache.org/")))
-- 
1.8.3.1


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

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

end of thread, other threads:[~2013-09-29 19:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-29 14:42 [PATCH] gnu: Add httpd Aljosha Papsch
2013-09-29 17:19 ` Ludovic Courtès
2013-09-29 18:26   ` Ludovic Courtès
2013-09-29 19:01   ` Aljosha Papsch

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