diff options
Diffstat (limited to 'guix/build/haskell-build-system.scm')
-rw-r--r-- | guix/build/haskell-build-system.scm | 17 |
1 files changed, 9 insertions, 8 deletions
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") '()) |