gnu: agda: Fix build.
* gnu/packages/agda.scm (agda)[inputs]: Remove ghc-monadplus; add ghc-filemanip. [arguments]: Replace configure phase.master
parent
6306ce7271
commit
787231e957
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
|
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
|
||||||
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -51,13 +52,13 @@
|
||||||
("ghc-edisoncore" ,ghc-edisoncore)
|
("ghc-edisoncore" ,ghc-edisoncore)
|
||||||
("ghc-edit-distance" ,ghc-edit-distance)
|
("ghc-edit-distance" ,ghc-edit-distance)
|
||||||
("ghc-equivalence" ,ghc-equivalence)
|
("ghc-equivalence" ,ghc-equivalence)
|
||||||
|
("ghc-filemanip" ,ghc-filemanip)
|
||||||
("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
|
("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
|
||||||
("ghc-gitrev" ,ghc-gitrev)
|
("ghc-gitrev" ,ghc-gitrev)
|
||||||
("ghc-happy" ,ghc-happy)
|
("ghc-happy" ,ghc-happy)
|
||||||
("ghc-hashable" ,ghc-hashable)
|
("ghc-hashable" ,ghc-hashable)
|
||||||
("ghc-hashtables" ,ghc-hashtables)
|
("ghc-hashtables" ,ghc-hashtables)
|
||||||
("ghc-ieee754" ,ghc-ieee754)
|
("ghc-ieee754" ,ghc-ieee754)
|
||||||
("ghc-monadplus" ,ghc-monadplus)
|
|
||||||
("ghc-murmur-hash" ,ghc-murmur-hash)
|
("ghc-murmur-hash" ,ghc-murmur-hash)
|
||||||
("ghc-uri-encode" ,ghc-uri-encode)
|
("ghc-uri-encode" ,ghc-uri-encode)
|
||||||
("ghc-parallel" ,ghc-parallel)
|
("ghc-parallel" ,ghc-parallel)
|
||||||
|
@ -70,9 +71,50 @@
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build haskell-build-system)
|
`(#:modules ((guix build haskell-build-system)
|
||||||
(guix build utils)
|
(guix build utils)
|
||||||
(srfi srfi-26))
|
(srfi srfi-26)
|
||||||
|
(ice-9 match))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-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
|
(add-after 'compile 'agda-compile
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
|
Reference in New Issue