diff options
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build-system/haskell.scm | 2 | ||||
-rw-r--r-- | guix/build/haskell-build-system.scm | 17 |
2 files changed, 11 insertions, 8 deletions
diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index 1ec11c71d8..25f4797d16 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -106,6 +106,7 @@ version REVISION." (tests? #t) (test-target "test") (configure-flags ''()) + extra-directories? (phases '(@ (guix build haskell-build-system) %standard-phases)) (outputs '("out")) @@ -134,6 +135,7 @@ provides a 'Setup.hs' file as its build system." (derivation->output-path revision)) (revision revision)) #:configure-flags ,configure-flags + #:extra-directories? ,extra-directories? #:haddock-flags ,haddock-flags #:system ,system #:test-target ,test-target diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index 91f62138d0..f69e16582a 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -72,8 +72,8 @@ and parameters ~s~%" (apply invoke "runhaskell" setup-file command params)) (error "no Setup.hs nor Setup.lhs found")))) -(define* (configure #:key outputs inputs tests? (configure-flags '()) - #:allow-other-keys) +(define* (configure #:key outputs inputs tests? extra-directories? + (configure-flags '()) #:allow-other-keys) "Configure a given Haskell package." (let* ((out (assoc-ref outputs "out")) (doc (assoc-ref outputs "doc")) @@ -84,6 +84,10 @@ and parameters ~s~%" (((_ . dir) ...) dir) (_ '()))) + (include-dirs (map (cut string-append "--extra-include-dirs=" <>) + (search-path-as-list '("include") input-dirs))) + (lib-dirs (map (cut string-append "--extra-lib-dirs=" <>) + (search-path-as-list '("lib") input-dirs))) (ghc-path (getenv "GHC_PACKAGE_PATH")) (params (append `(,(string-append "--prefix=" out)) `(,(string-append "--libdir=" (or lib out) "/lib")) @@ -94,12 +98,9 @@ and parameters ~s~%" '("--libsubdir=$compiler/$pkg-$version") `(,(string-append "--package-db=" %tmp-db-dir)) '("--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 extra-directories? + (append include-dirs lib-dirs) + '()) (if tests? '("--enable-tests") '()) |