guix_mirror_bot pushed a commit to branch master
in repository guix.
commit cbf6f04a9ab6d04fc35f61f213edc0debbf17dff
Author: Cayetano Santos <[email protected]>
AuthorDate: Sat Mar 14 13:50:41 2026 +0100
gnu: lepton-eda: Move to electronics.
* gnu/packages/engineering.scm (lepton-eda): Move from here ...
* gnu/packages/electronics.scm: ... to here.
Change-Id: I3f84d463073478956267132542398fba1b0d3c36
---
gnu/packages/electronics.scm | 152 +++++++++++++++++++++++++++++++++++++++++++
gnu/packages/engineering.scm | 149 ------------------------------------------
2 files changed, 152 insertions(+), 149 deletions(-)
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index cf9a7003fb..210b7015a6 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2025, 2026 Gabriel Wicki <[email protected]>
;;; Copyright © 2026 Thomas Kramer <[email protected]>
;;; Copyright © 2023 pinoaffe <[email protected]>
+;;; Copyright © 2018, 2021 Ludovic Courtès <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -94,7 +95,9 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
@@ -1054,6 +1057,155 @@ It simulates the netlists of the cells with ngspice and
writes the
characterization result in a liberty library file.")
(license license:agpl3+)))
+(define-public lepton-eda
+ (package
+ (name "lepton-eda")
+ (version "1.9.18-20220529")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lepton-eda/lepton-eda/")
+ (commit version)))
+ (sha256
+ (base32
+ "06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list
+ ;; When running "make", the POT files are built with the build time as
+ ;; their "POT-Creation-Date". Later on, "make" notices that .pot
+ ;; files were updated and goes on to run "msgmerge"; as a result, the
+ ;; non-deterministic POT-Creation-Date finds its way into .po files,
+ ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
+ ;; never runs. See <https://bugs.debian.org/792687>.
+ "ac_cv_path_MSGMERGE=true"
+ (string-append "--with-pcb-datadir="
+ #$(this-package-input "pcb")
+ "/share")
+ (string-append "--with-pcb-lib-path="
+ #$(this-package-input "pcb")
+ "/share/pcb/pcblib-newlib:"
+ #$(this-package-input "pcb")
+ "/share/pcb/newlib")
+ "--with-gtk3"
+ "CFLAGS=-fcommon"
+ "--enable-guild"
+ "--enable-contrib")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; For logs and auto-compilation
+ (setenv "HOME" "/tmp")
+
+ ;; Ensure that readline is found by lepton-shell
+ (substitute* "script.in"
+ (("\\(eval-when \\(expand load eval\\)" m)
+ (string-append "
+(add-to-load-path \"" #$(this-package-input "guile-readline")
+"/share/guile/site/3.0\")
+(set! %load-compiled-path (cons \""
+#$(this-package-input "guile-readline")
+"/lib/guile/3.0/site-ccache/"
+"\" %load-compiled-path))
+" m)))))
+ (add-before 'build 'fix-dynamic-link
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "liblepton/scheme/lepton/ffi/lib.scm"
+ (("\"liblepton\"")
+ (string-append "\"" #$output "/lib/liblepton.so" "\""))
+ (("\"libleptonattrib\"")
+ (string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
+ (("\"libleptongui\"")
+ (string-append "\"" #$output "/lib/libleptongui.so" "\""))
+ (("\"libglib-2.0\"")
+ (string-append
+ "\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
+ (("\"libgobject-2.0\"")
+ (string-append
+ "\"" (search-input-file inputs "/lib/libgobject-2.0.so")
"\""))
+ (("\"libgtk-3\"")
+ (string-append
+ "\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
+
+ ;; For finding libraries when running tests before installation.
+ (setenv "LIBLEPTONGUI"
+ (string-append (getcwd)
+
"/libleptongui/src/.libs/libleptongui.so"))
+ (setenv "LIBLEPTON"
+ (string-append (getcwd)
+ "/libleptongui/src/.libs/liblepton.so"))
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (getcwd)
+ "/libleptonattrib/src/.libs/:"
+ (getenv "LIBRARY_PATH")))))
+ (add-before 'bootstrap 'prepare
+ (lambda _
+ ;; Some of the scripts there are invoked by autogen.sh.
+ (for-each patch-shebang
+ (find-files "build-tools"))
+
+ ;; Make sure 'msgmerge' can modify the PO files.
+ (for-each (lambda (po)
+ (chmod po #o666))
+ (find-files "." "\\.po$"))
+
+ ;; This would normally be created by invoking 'git', but it
+ ;; doesn't work here.
+ (call-with-output-file "version.h"
+ (lambda (port)
+ (format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
+ #$(string-drop version
+ (+ 1
+ (string-index version #\-))))
+ (format port
+ "#define PACKAGE_DOTTED_VERSION \"~a\"~%"
+ #$(string-take version
+ (string-index version #\-)))
+ (format port
+ "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
+ (add-after 'install 'compile-scheme-files
+ (lambda _
+ (unsetenv "LIBLEPTONGUI")
+ (unsetenv "LIBLEPTON")
+ (unsetenv "LD_LIBRARY_PATH")
+ (invoke "make" "precompile"))))))
+ (native-inputs
+ (list autoconf
+ automake
+ desktop-file-utils
+ flex
+ gettext-minimal
+ groff
+ gawk
+ libtool
+ pkg-config
+ m4
+ perl
+ texinfo))
+ (inputs
+ (list glib
+ gtk+
+ gtksheet
+ guile-3.0
+ guile-readline
+ pcb
+ shared-mime-info))
+ (home-page "https://lepton-eda.github.io/")
+ (synopsis "GPL Electronic Design Automation")
+ (description
+ "Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
+forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
+design, schematic capture, simulation, prototyping, and production. Lepton
+EDA includes tools for schematic capture, attribute management, bill of
+materials (BOM) generation, netlisting into over 20 netlist formats, analog
+and digital simulation, and printed circuit board (PCB) layout, and many other
+features.")
+ (license license:gpl2+)))
+
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 9148c1d0ef..5fab6e29a5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -358,155 +358,6 @@ tool to forward annotation from your schematic to layout
using PCB; some minor
utilities.")
(license license:gpl2+)))
-(define-public lepton-eda
- (package
- (name "lepton-eda")
- (version "1.9.18-20220529")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lepton-eda/lepton-eda/")
- (commit version)))
- (sha256
- (base32
- "06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- (list
- #:configure-flags
- #~(list
- ;; When running "make", the POT files are built with the build time as
- ;; their "POT-Creation-Date". Later on, "make" notices that .pot
- ;; files were updated and goes on to run "msgmerge"; as a result, the
- ;; non-deterministic POT-Creation-Date finds its way into .po files,
- ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
- ;; never runs. See <https://bugs.debian.org/792687>.
- "ac_cv_path_MSGMERGE=true"
- (string-append "--with-pcb-datadir="
- #$(this-package-input "pcb")
- "/share")
- (string-append "--with-pcb-lib-path="
- #$(this-package-input "pcb")
- "/share/pcb/pcblib-newlib:"
- #$(this-package-input "pcb")
- "/share/pcb/newlib")
- "--with-gtk3"
- "CFLAGS=-fcommon"
- "--enable-guild"
- "--enable-contrib")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- ;; For logs and auto-compilation
- (setenv "HOME" "/tmp")
-
- ;; Ensure that readline is found by lepton-shell
- (substitute* "script.in"
- (("\\(eval-when \\(expand load eval\\)" m)
- (string-append "
-(add-to-load-path \"" #$(this-package-input "guile-readline")
-"/share/guile/site/3.0\")
-(set! %load-compiled-path (cons \""
-#$(this-package-input "guile-readline")
-"/lib/guile/3.0/site-ccache/"
-"\" %load-compiled-path))
-" m)))))
- (add-before 'build 'fix-dynamic-link
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "liblepton/scheme/lepton/ffi/lib.scm"
- (("\"liblepton\"")
- (string-append "\"" #$output "/lib/liblepton.so" "\""))
- (("\"libleptonattrib\"")
- (string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
- (("\"libleptongui\"")
- (string-append "\"" #$output "/lib/libleptongui.so" "\""))
- (("\"libglib-2.0\"")
- (string-append
- "\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
- (("\"libgobject-2.0\"")
- (string-append
- "\"" (search-input-file inputs "/lib/libgobject-2.0.so")
"\""))
- (("\"libgtk-3\"")
- (string-append
- "\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
-
- ;; For finding libraries when running tests before installation.
- (setenv "LIBLEPTONGUI"
- (string-append (getcwd)
-
"/libleptongui/src/.libs/libleptongui.so"))
- (setenv "LIBLEPTON"
- (string-append (getcwd)
- "/libleptongui/src/.libs/liblepton.so"))
- (setenv "LD_LIBRARY_PATH"
- (string-append (getcwd)
- "/libleptonattrib/src/.libs/:"
- (getenv "LIBRARY_PATH")))))
- (add-before 'bootstrap 'prepare
- (lambda _
- ;; Some of the scripts there are invoked by autogen.sh.
- (for-each patch-shebang
- (find-files "build-tools"))
-
- ;; Make sure 'msgmerge' can modify the PO files.
- (for-each (lambda (po)
- (chmod po #o666))
- (find-files "." "\\.po$"))
-
- ;; This would normally be created by invoking 'git', but it
- ;; doesn't work here.
- (call-with-output-file "version.h"
- (lambda (port)
- (format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
- #$(string-drop version
- (+ 1
- (string-index version #\-))))
- (format port
- "#define PACKAGE_DOTTED_VERSION \"~a\"~%"
- #$(string-take version
- (string-index version #\-)))
- (format port
- "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
- (add-after 'install 'compile-scheme-files
- (lambda _
- (unsetenv "LIBLEPTONGUI")
- (unsetenv "LIBLEPTON")
- (unsetenv "LD_LIBRARY_PATH")
- (invoke "make" "precompile"))))))
- (native-inputs
- (list autoconf
- automake
- desktop-file-utils
- flex
- gettext-minimal
- groff
- gawk
- libtool
- pkg-config
- m4
- perl
- texinfo))
- (inputs
- (list glib
- gtk+
- gtksheet
- guile-3.0
- guile-readline
- pcb
- shared-mime-info))
- (home-page "https://lepton-eda.github.io/")
- (synopsis "GPL Electronic Design Automation")
- (description
- "Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
-forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
-design, schematic capture, simulation, prototyping, and production. Lepton
-EDA includes tools for schematic capture, attribute management, bill of
-materials (BOM) generation, netlisting into over 20 netlist formats, analog
-and digital simulation, and printed circuit board (PCB) layout, and many other
-features.")
- (license license:gpl2+)))
-
(define-public pcb
(package
(name "pcb")