summary refs log tree commit diff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-02-01 13:18:47 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-02-01 13:18:47 +0100
commitbee7bb315cd0b4529a4117b6220c29ca297fc023 (patch)
treefe4741f257e50782e51bc2955ad4480cd2ba6396 /gnu/packages/guile.scm
parentc2f0e5a44b537632c2655f97a2539c3bf02c8a63 (diff)
parent8a4644336d5063fd0bf43e90e3c0823c76e82e4e (diff)
downloadguix-bee7bb315cd0b4529a4117b6220c29ca297fc023.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm60
1 files changed, 37 insertions, 23 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 17862dc7da..9f1f633444 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
 ;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -72,7 +73,8 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix utils)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:use-module ((srfi srfi-1) #:prefix srfi-1:))
 
 ;;; Commentary:
 ;;;
@@ -689,31 +691,43 @@ format is also supported.")
          ("pkg-config" ,pkg-config)
          ("texinfo" ,texinfo)
          ("help2man" ,help2man)))
+      (inputs
+       `(("guile-2.2" ,guile-2.2)
+         ,@(srfi-1:alist-delete "guile" (package-inputs mcron))))
       (arguments
        `(#:modules ((ice-9 match) (ice-9 ftw)
                     ,@%gnu-build-system-modules)
-
-         #:phases (modify-phases %standard-phases
-                    (add-after 'unpack 'bootstrap
-                      (lambda _
-                        (zero? (system* "autoreconf" "-vfi"))))
-                    (add-after 'install 'wrap-mcron
-                      (lambda* (#:key outputs #:allow-other-keys)
-                        ;; Wrap the 'mcron' command to refer to the right
-                        ;; modules.
-                        (let* ((out  (assoc-ref outputs "out"))
-                               (bin  (string-append out "/bin"))
-                               (site (string-append
-                                      out "/share/guile/site")))
-                          (match (scandir site)
-                            (("." ".." version)
-                             (let ((modules (string-append site "/" version)))
-                               (wrap-program (string-append bin "/mcron")
-                                 `("GUILE_LOAD_PATH" ":" prefix
-                                   (,modules))
-                                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
-                                   (,modules)))
-                               #t))))))))))))
+         ;; When building the targets in parallel, help2man tries to generate
+         ;; the manpage from ./cron --help before it is built, which fails.
+         #:parallel-build? #f
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'use-guile-2.2
+             (lambda _
+               (substitute* "configure.ac"
+                 (("PKG_CHECK_MODULES\\(\\[GUILE\\],.*$")
+                  "PKG_CHECK_MODULES([GUILE], [guile-2.2])\n"))
+               #t))
+           (add-after 'use-guile-2.2 'bootstrap
+             (lambda _
+               (invoke "autoreconf" "-vfi")))
+           (add-after 'install 'wrap-mcron
+             (lambda* (#:key outputs #:allow-other-keys)
+               ;; Wrap the 'mcron' command to refer to the right
+               ;; modules.
+               (let* ((out  (assoc-ref outputs "out"))
+                      (bin  (string-append out "/bin"))
+                      (site (string-append
+                             out "/share/guile/site")))
+                 (match (scandir site)
+                   (("." ".." version)
+                    (let ((modules (string-append site "/" version)))
+                      (wrap-program (string-append bin "/mcron")
+                        `("GUILE_LOAD_PATH" ":" prefix
+                          (,modules))
+                        `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+                          (,modules)))
+                      #t))))))))))))
 
 (define-public guile-ics
   (package