From 4d41dad4bae14e3855d83d7097317a153f1ac4e8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 3 Aug 2022 19:59:37 +0300 Subject: gnu: nim: Enable parallel building. * gnu/packages/nim.scm (nim)[arguments]: Adjust custom 'build phase to add parallel flag. [native-inputs]: Add parallel. --- gnu/packages/nim.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/nim.scm b/gnu/packages/nim.scm index c31659fdc9..6da382119f 100644 --- a/gnu/packages/nim.scm +++ b/gnu/packages/nim.scm @@ -28,6 +28,7 @@ #:use-module (guix packages) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages certs) + #:use-module (gnu packages parallel) #:use-module (gnu packages pcre) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) @@ -104,10 +105,16 @@ (substitute* (find-files "c_code" "stdlib_osproc\\.nim\\.c") (("\"/bin/sh\", 7") (format #f "~s, ~s" sh (string-length sh))))))) (replace 'build - (lambda _ + (lambda* (#:key (parallel-build? #t) #:allow-other-keys) (setenv "XDG_CACHE_HOME" "./cache-home") + (setenv "HOME" "./cache-home") (mkdir-p "./cache-home") - (invoke "sh" "build.sh") + (invoke "sh" "build.sh" + "--parallel" + (if parallel-build? + (number->string (parallel-job-count)) + "1")) + (sleep 5) ; Wait for the parallel builds to finish. (invoke "./bin/nim" "c" "-d:release" "koch") (invoke "./koch" "boot" "-d:release") (invoke "./koch" "tools"))) @@ -139,7 +146,7 @@ (copy-file "dist/nimble/nimble.bash-completion" (string-append zsh "/_nimble")))))))) (inputs (list libgc openssl pcre sqlite)) - (native-inputs (list nss-certs)) + (native-inputs (list nss-certs parallel)) (home-page "https://nim-lang.org") (synopsis "Statically-typed, imperative programming language") (description "Nim (formerly known as Nimrod) is a statically-typed, -- cgit 1.4.1