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"