summaryrefslogtreecommitdiff
path: root/guix/build/haskell-build-system.scm
diff options
context:
space:
mode:
authorPaul van der Walt <paul@denknerd.org>2015-10-23 19:33:43 +0200
committerPaul van der Walt <paul@denknerd.org>2015-10-26 10:15:14 +0100
commitf862f38ade0c6a648d5a8711d636281314b2db62 (patch)
treeb9d4c6421041f9152ba98548db80de6425ed7e15 /guix/build/haskell-build-system.scm
parentf535dcbe198e7f88f3b0cd8aa4d7585191b31080 (diff)
build-system/haskell: CONFIG_SHELL env variable.
For Cabal packages with "build-type: Configure", a configure shell script is run to set up build parameters. These scripts need the CONFIG_SHELL environment variable to be set to function properly. * guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if necessary.
Diffstat (limited to 'guix/build/haskell-build-system.scm')
-rw-r--r--guix/build/haskell-build-system.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index c0cb789581..4506e96af9 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -96,6 +97,14 @@ and parameters ~s~%"
'("--enable-tests")
'())
configure-flags)))
+ ;; For packages where the Cabal build-type is set to "Configure",
+ ;; ./configure will be executed. In these cases, the following
+ ;; environment variable is needed to be able to find the shell executable.
+ ;; For other package types, the configure script isn't present. For more
+ ;; information, see the Build Information section of
+ ;; <https://www.haskell.org/cabal/users-guide/developing-packages.html>.
+ (when (file-exists? "configure")
+ (setenv "CONFIG_SHELL" "sh"))
(run-setuphs "configure" params)))
(define* (build #:rest empty)