guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

265/272: gnu: agda: Fix build.


From: Ricardo Wurmus
Subject: 265/272: gnu: agda: Fix build.
Date: Mon, 1 Oct 2018 06:13:59 -0400 (EDT)

rekado pushed a commit to branch master
in repository guix.

commit 787231e9570779892b2eb2e79563be4cfacc9b9d
Author: Ricardo Wurmus <address@hidden>
Date:   Sun Sep 30 12:23:59 2018 +0200

    gnu: agda: Fix build.
    
    * gnu/packages/agda.scm (agda)[inputs]: Remove ghc-monadplus; add
    ghc-filemanip.
    [arguments]: Replace configure phase.
---
 gnu/packages/agda.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
index 418025b..6bb38aa 100644
--- a/gnu/packages/agda.scm
+++ b/gnu/packages/agda.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Alex ter Weele <address@hidden>
+;;; Copyright © 2018 Ricardo Wurmus <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,13 +52,13 @@
        ("ghc-edisoncore" ,ghc-edisoncore)
        ("ghc-edit-distance" ,ghc-edit-distance)
        ("ghc-equivalence" ,ghc-equivalence)
+       ("ghc-filemanip" ,ghc-filemanip)
        ("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
        ("ghc-gitrev" ,ghc-gitrev)
        ("ghc-happy" ,ghc-happy)
        ("ghc-hashable" ,ghc-hashable)
        ("ghc-hashtables" ,ghc-hashtables)
        ("ghc-ieee754" ,ghc-ieee754)
-       ("ghc-monadplus" ,ghc-monadplus)
        ("ghc-murmur-hash" ,ghc-murmur-hash)
        ("ghc-uri-encode" ,ghc-uri-encode)
        ("ghc-parallel" ,ghc-parallel)
@@ -70,9 +71,50 @@
     (arguments
      `(#:modules ((guix build haskell-build-system)
                   (guix build utils)
-                  (srfi srfi-26))
+                  (srfi srfi-26)
+                  (ice-9 match))
        #:phases
        (modify-phases %standard-phases
+         ;; FIXME: This is a copy of the standard configure phase with a tiny
+         ;; difference: this package needs the -package-db flag to be passed
+         ;; to "runhaskell" in addition to the "configure" action, because
+         ;; Setup.hs depends on filemanip.  Without this option the Setup.hs
+         ;; file cannot be evaluated.  The haskell-build-system should be
+         ;; changed to pass "-package-db" to "runhaskell" in any case.
+         (replace 'configure
+           (lambda* (#:key outputs inputs tests? (configure-flags '())
+                     #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (input-dirs (match inputs
+                                  (((_ . dir) ...)
+                                   dir)
+                                  (_ '())))
+                    (ghc-path (getenv "GHC_PACKAGE_PATH"))
+                    (params (append `(,(string-append "--prefix=" out))
+                                    `(,(string-append "--libdir=" out "/lib"))
+                                    `(,(string-append "--bindir=" out "/bin"))
+                                    `(,(string-append
+                                        "--docdir=" out
+                                        "/share/doc/" ((@@ (guix build 
haskell-build-system)
+                                                           
package-name-version) out)))
+                                    '("--libsubdir=$compiler/$pkg-$version")
+                                    '("--package-db=../package.conf.d")
+                                    '("--global")
+                                    `(,@(map
+                                         (cut string-append 
"--extra-include-dirs=" <>)
+                                         (search-path-as-list '("include") 
input-dirs)))
+                                    `(,@(map
+                                         (cut string-append 
"--extra-lib-dirs=" <>)
+                                         (search-path-as-list '("lib") 
input-dirs)))
+                                    (if tests?
+                                        '("--enable-tests")
+                                        '())
+                                    configure-flags)))
+               (unsetenv "GHC_PACKAGE_PATH")
+               (apply invoke "runhaskell" "-package-db=../package.conf.d"
+                      "Setup.hs" "configure" params)
+               (setenv "GHC_PACKAGE_PATH" ghc-path)
+               #t)))
          (add-after 'compile 'agda-compile
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]