guix-devel
[Top][All Lists]
Advanced

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

Re: Compilation time with Guile 3.0.3-to-be


From: Ludovic Courtès
Subject: Re: Compilation time with Guile 3.0.3-to-be
Date: Thu, 04 Jun 2020 14:45:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Ludovic Courtès <ludo@gnu.org> skribis:

> With the attached patch I’ve run ‘make as-derivation’ (equivalent to
> ‘guix pull’) and timed the builds of guix-packages-base.drv (279 files)
> and guix-packages.drv (217 files) on my 4-core i7 laptop:

Oh, here comes the attached patch.

Ludo’.

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c2dc7f6d5f..2c9a9825e4 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -322,6 +322,41 @@ without requiring the source code to be rewritten.")
       `(("bdw-gc" ,libgc-7)
         ,@(srfi-1:alist-delete "bdw-gc" (package-propagated-inputs 
guile-3.0)))))))
 
+(define-public guile-devel
+  (let ((commit "e2066d2e639ecc81078e83fcd7acd8b75faf27a3")
+        (revision "0"))
+   (package
+     (inherit guile-3.0)
+     (version (git-version (package-version guile-3.0)
+                           revision commit))
+     (source (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://git.savannah.gnu.org/git/guile.git";)
+                     (commit commit)))
+               (file-name (git-file-name "guile" version))
+               (sha256
+                (base32
+                 "1qipc4j2wbc2h22qsqp7n81ykclmnw8zxay06gqyaijk3nyf0bbn"))))
+     (arguments
+      (substitute-keyword-arguments (package-arguments guile-3.0)
+        ((#:phases phases '%standard-phases)
+         `(modify-phases ,phases
+            (add-before 'check 'skip-failing-tests
+              (lambda _
+                (setenv "XFAIL_TESTS" "test-out-of-memory")
+                (delete-file "test-suite/tests/version.test")
+                #t))))))
+     (native-inputs
+      `(("autoconf" ,autoconf)
+        ("automake" ,automake)
+        ("libtool" ,libtool)
+        ("flex" ,flex)
+        ("gettext" ,gnu-gettext)
+        ("texinfo" ,texinfo)
+        ("util-linux" ,util-linux)              ;for 'rev', used in popen.test
+        ,@(package-native-inputs guile-3.0))))))
+
 (define-public guile-3.0/fixed
   ;; A package of Guile that's rarely changed.  It is the one used in the
   ;; `base' module, and thus changing it entails a full rebuild.
@@ -776,3 +811,4 @@ manipulate repositories of the Git version control system.")
 
 ;;; guile.scm ends here
 
+
diff --git a/guix/self.scm b/guix/self.scm
index 60fe6e6b01..7449406dc5 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -48,7 +48,7 @@
   (let ((ref (lambda (module variable)
                (module-ref (resolve-interface module) variable))))
     (match-lambda
-      ("guile"      (ref '(gnu packages guile) 'guile-3.0/libgc-7))
+      ("guile"      (ref '(gnu packages guile) 'guile-devel))
       ("guile-json" (ref '(gnu packages guile) 'guile-json-3))
       ("guile-ssh"  (ref '(gnu packages ssh)   'guile-ssh))
       ("guile-git"  (ref '(gnu packages guile) 'guile-git))

reply via email to

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