guix_mirror_bot pushed a commit to branch master
in repository guix.

commit cb2b04d71af7412788b2dfa47683031bdd8313f1
Author: Cayetano Santos <[email protected]>
AuthorDate: Fri Jul 10 11:36:38 2026 +0200

    gnu: yosys: Reduce closure size.
    
    The file #$output/bin/yosys-config carries all of clang with it.
    
    This change brings yosys down to ~800 MB, compared to its previous ~2.8
    GB.
    
    * gnu/packages/electronics.scm (yosys)[outputs]: Add ’config.
    [arguments]: Add ’reduce-closure and ’build-config #:phases.
    
    Merges guix/guix!9843
    Signed-off-by: Cayetano Santos <[email protected]>
---
 gnu/packages/electronics.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 1a62efadda..c17e7c5e9d 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -5164,7 +5164,9 @@ parallel computing platforms.  It also supports serial 
execution.")
             (substitute* "libs/CMakeLists.txt"
               (("add_subdirectory\\(dlfcn-win32\\)") ""))))))
     (build-system cmake-build-system)
-    (outputs '("out" "doc"))
+    (outputs '("out" "doc" "config"))
+    (properties
+     `((output-synopsis "config" "Yosys configuration file")))
     (arguments
      (list
       #:configure-flags
@@ -5189,6 +5191,10 @@ parallel computing platforms.  It also supports serial 
execution.")
                              "/site-packages"))
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'reduce-closure
+            (lambda _
+              (substitute* "cmake/YosysVersion.cmake"
+                (("\\$\\{CMAKE_CXX_COMPILER\\}") "clang++"))))
           ;; TODO: Remove when fixed.
           (add-after 'unpack 'remove-aiger
             (lambda _
@@ -5219,6 +5225,12 @@ parallel computing platforms.  It also supports serial 
execution.")
               (wrap-program (string-append #$output "/bin/yosys-witness")
                 `("GUIX_PYTHONPATH" ":" prefix
                   (,(getenv "GUIX_PYTHONPATH"))))))
+          (add-after 'install 'build-config
+            (lambda _
+              (mkdir-p (string-append #$output:config "/bin"))
+              (rename-file
+               (string-append #$output "/bin/yosys-config")
+               (string-append #$output:config "/bin/yosys-config"))))
           (add-before 'build 'build-info
             (lambda _
               (with-directory-excursion "../source/docs"

Reply via email to