guix-commits
[Top][All Lists]
Advanced

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

01/06: gnu: petsc: Reduce closure size.


From: guix-commits
Subject: 01/06: gnu: petsc: Reduce closure size.
Date: Tue, 27 Feb 2024 05:52:07 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit dcdc0a5592f8be1b07e8ae1a1420d2c1760a5f0e
Author: Lars Bilke <lars.bilke@ufz.de>
AuthorDate: Tue Jan 9 19:15:04 2024 +0100

    gnu: petsc: Reduce closure size.
    
    Reduces closure size from 828 MiB to 463 MiB (44%) by removing
    references to build dependencies such as GCC.
    
    * gnu/packages/maths.scm (petsc)[arguments]: Add
    ‘clear-reference-to-compiler’ phase.
    In ‘clean-install’ phase, also remove “configure-hash”.
    
    Change-Id: I2e6900747b2118546f0a39ceb109b3f2f90e6949
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/maths.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index d557154f91..1f61ee0583 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3487,8 +3487,20 @@ September 2004}")
                           '("configure.log" "make.log" "gmake.log"
                             "test.log" "error.log" "RDict.db"
                             "PETScBuildInternal.cmake"
+                            "configure-hash"
                             ;; Once installed, should uninstall with Guix
                             "uninstall.py")))))
+          (add-after 'clean-install 'clear-reference-to-compiler
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              ;; Do not retain a reference to GCC and other build only inputs.
+              (let ((out (assoc-ref outputs "out")))
+              (substitute* (string-append out "/lib/petsc/conf/petscvariables")
+                (("([[:graph:]]+)/bin/gcc") "gcc")
+                (("([[:graph:]]+)/bin/g\\+\\+") "g++")
+                (("([[:graph:]]+)/bin/make") "make")
+                (("([[:graph:]]+)/bin/diff") "diff")
+                (("([[:graph:]]+)/bin/sed") "sed")
+                (("([[:graph:]]+)/bin/gfortran") "gfortran")))))
           (add-after 'install 'move-examples
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))



reply via email to

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