summary refs log tree commit diff
path: root/gnu/packages/admin.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-08-20 16:55:54 +0200
committerLudovic Courtès <ludo@gnu.org>2015-08-20 16:57:25 +0200
commit4006fd87b5f390b3951b924003acaf4cdafcc193 (patch)
tree37f25cf9fd3f01c8f1d0de687994047bf1c9610a /gnu/packages/admin.scm
parentdede51a18b52a43c9ff7be5f58968b897b711d9c (diff)
downloadguix-4006fd87b5f390b3951b924003acaf4cdafcc193.tar.gz
gnu: dmd: Apply 'make-forkexec-constructor' patch.
Proposed by Andy Wingo <wingo@igalia.com>.

* gnu/packages/admin.scm (dmd): Add 'base-version' and 'patch-level'
  variables.
  [source]: Use 'base-version' instead of 'version'.  Add 'patches' field.
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r--gnu/packages/admin.scm54
1 files changed, 34 insertions, 20 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 319e78c05a..9c48430fa6 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -60,29 +60,43 @@
   #:use-module (gnu packages man))
 
 (define-public dmd
-  (package
-    (name "dmd")
-    (version "0.2")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
-                                 version ".tar.gz"))
-             (sha256
-              (base32
-               "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:configure-flags '("--localstatedir=/var")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.0)))
-    (synopsis "Daemon managing daemons")
-    (description
-     "GNU DMD is a daemon-managing daemon, meaning that it manages the
+  (let ((base-version "0.2")
+        (patch-level  "01"))
+    (package
+      (name "dmd")
+      (version (string-append base-version "." patch-level))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
+                                    base-version ".tar.gz"))
+                (sha256
+                 (base32
+                  "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))
+                (patches
+                 (list (origin
+                         ;; This patch augments 'make-fork+exec-constructor' and
+                         ;; is used by a bunch of services.
+                         (method url-fetch)
+                         (uri (string-append
+                               "http://git.savannah.gnu.org/cgit/dmd.git/patch/"
+                               "?id=d1d0ff30b3ed2b86b0a3c9bc048d2a855f8e31e6"))
+                         (sha256
+                          (base32
+                           "1lqymypixfiyb72d6bn24m06ry2q1ljnnv0qrc89pbb4z9azaa4d"))
+                         (file-name "dmd-user-group.patch"))))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:configure-flags '("--localstatedir=/var")))
+      (native-inputs `(("pkg-config" ,pkg-config)))
+      (inputs `(("guile" ,guile-2.0)))
+      (synopsis "Daemon managing daemons")
+      (description
+       "GNU DMD is a daemon-managing daemon, meaning that it manages the
 execution of system services, replacing similar functionality found in
 typical init systems.  It provides dependency-handling through a convenient
 interface and is based on GNU Guile.")
-    (license license:gpl3+)
-    (home-page "http://www.gnu.org/software/dmd/")))
+      (license license:gpl3+)
+      (home-page "http://www.gnu.org/software/dmd/"))))
 
 (define-public dfc
   (package