diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2020-06-16 22:25:48 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2020-08-12 14:45:48 +0200 |
commit | 67cb9fa2357026ee42ec5bb0923ec4dc4a43abe2 (patch) | |
tree | 653d37e1173e68d5f5dcb4e3ae7c044cb3e896d2 | |
parent | 54c9b5bfd721fa6eff2138612a919539cfd18855 (diff) |
build-system/haskell: Support parallel builds.
* guix/build-system/haskell.scm (haskell-build): Add keyword PARALLEL-BUILD?
and pass it on to the builder.
* guix/build/haskell-build-system.scm (build): Accept keyword PARALLEL-BUILD?
and pass the number of parallel jobs to GHC.
-rw-r--r-- | guix/build-system/haskell.scm | 2 | ||||
-rw-r--r-- | guix/build/haskell-build-system.scm | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index 1ec11c71d8..ab93c9601c 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -105,6 +105,7 @@ version REVISION." (haddock-flags ''()) (tests? #t) (test-target "test") + (parallel-build? #t) (configure-flags ''()) (phases '(@ (guix build haskell-build-system) %standard-phases)) @@ -138,6 +139,7 @@ provides a 'Setup.hs' file as its build system." #:system ,system #:test-target ,test-target #:tests? ,tests? + #:parallel-build? ,parallel-build? #:haddock? ,haddock? #:phases ,phases #:outputs %outputs diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index 91f62138d0..5fd0c7dbfe 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -121,9 +121,12 @@ and parameters ~s~%" (setenv "GHC_PACKAGE_PATH" ghc-path) #t)) -(define* (build #:rest empty) +(define* (build #:key parallel-build? #:allow-other-keys) "Build a given Haskell package." - (run-setuphs "build" '())) + (run-setuphs "build" + (if parallel-build? + `(,(string-append "--ghc-option=-j" (number->string (parallel-job-count)))) + '()))) (define* (install #:rest empty) "Install a given Haskell package." |