guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/05: gnu: nim: Enable parallel building.


From: guix-commits
Subject: 05/05: gnu: nim: Enable parallel building.
Date: Wed, 3 Aug 2022 13:11:38 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit 4d41dad4bae14e3855d83d7097317a153f1ac4e8
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Wed Aug 3 19:59:37 2022 +0300

    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,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]