me
/
guix
Archived
1
0
Fork 0

gnu: lepton-eda: Update to 1.9.13-20201211.

* gnu/packages/engineering.scm (lepton-eda): Update to 1.9.13-20201211.
[inputs]: Replace gtk+-2 with gtk+; add gtksheet.
[arguments]: Do not inherit from geda-gaf; add "--with-gtk3" configure flag;
add phase "fix-dynamic-link"; unset environment variables in
"compile-scheme-files" phase; do not wrap executables in
GUILE_LOAD_COMPILED_PATH.
master
Ricardo Wurmus 2020-12-27 18:02:40 +01:00
parent 14e89ae7d9
commit 1f0f5d017d
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 82 additions and 45 deletions

View File

@ -274,14 +274,14 @@ utilities.")
(package (package
(inherit geda-gaf) (inherit geda-gaf)
(name "lepton-eda") (name "lepton-eda")
(version "1.9.11-20200604") (version "1.9.13-20201211")
(home-page "https://github.com/lepton-eda/lepton-eda") (home-page "https://github.com/lepton-eda/lepton-eda")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url home-page) (commit version))) (uri (git-reference (url home-page) (commit version)))
(sha256 (sha256
(base32 (base32
"091y8h7wcr9smwhb1wf12sj27n5jrannbj3y6qq3q2gwiifiz8sd")) "0xfx6d0pyfrxr1c0nm4pbmb716hng78rgizaa6vsas9347n4kk1n"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -295,56 +295,93 @@ utilities.")
,@(package-native-inputs geda-gaf))) ,@(package-native-inputs geda-gaf)))
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)
("gtk" ,gtk+-2) ("gtk" ,gtk+)
("gtksheet" ,gtksheet)
("guile" ,guile-2.2) ("guile" ,guile-2.2)
("shared-mime-info" ,shared-mime-info) ("shared-mime-info" ,shared-mime-info)
("m4" ,m4) ("m4" ,m4)
("pcb" ,pcb))) ("pcb" ,pcb)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments geda-gaf) `(#:configure-flags
((#:configure-flags flags ''()) (let ((pcb (assoc-ref %build-inputs "pcb")))
;; When running "make", the POT files are built with the build time as ;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot ;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the ;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files, ;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge' ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>. ;; never runs. See <https://bugs.debian.org/792687>.
`(cons "ac_cv_path_MSGMERGE=true" ,flags)) (list "ac_cv_path_MSGMERGE=true"
((#:phases phases '%standard-phases) "--with-gtk3"
`(modify-phases %standard-phases (string-append "--with-pcb-datadir=" pcb "/share")
(add-before 'bootstrap 'prepare (string-append "--with-pcb-lib-path="
(lambda _ pcb "/share/pcb/pcblib-newlib:"
;; Some of the scripts there are invoked by autogen.sh. pcb "/share/pcb/newlib")))
(for-each patch-shebang (find-files "build-tools")) #:phases
(modify-phases %standard-phases
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "libleptongui/scheme/schematic/ffi.scm.in"
(("@LIBLEPTONGUI@")
(string-append (assoc-ref outputs "out")
"/lib/libleptongui.so")))
(substitute* '("libleptongui/scheme/schematic/ffi/gtk.scm.in"
"libleptonattrib/lepton-attrib.scm")
(("@LIBGTK@")
(string-append (assoc-ref inputs "gtk")
"/lib/libgtk-3.so")))
(substitute* "liblepton/scheme/lepton/ffi.scm.in"
(("@LIBLEPTON@")
(string-append (assoc-ref outputs "out")
"/lib/liblepton.so")))
(substitute* "libleptonattrib/lepton-attrib.scm"
(("@LIBLEPTONATTRIB@")
(string-append (assoc-ref outputs "out")
"/lib/libleptonattrib.so")))
(substitute* "liblepton/scheme/lepton/log.scm.in"
(("@LIBGLIB@")
(string-append (assoc-ref inputs "glib")
"/lib/libglib-2.0.so")))
;; Make sure 'msgmerge' can modify the PO files. ;; For finding libraries when running tests before installation.
(for-each (lambda (po) (setenv "LIBLEPTONGUI"
(chmod po #o666)) (string-append (getcwd)
(find-files "." "\\.po$")) "/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")))
#t))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang (find-files "build-tools"))
;; This would normally be created by invoking 'git', but it ;; Make sure 'msgmerge' can modify the PO files.
;; doesn't work here. (for-each (lambda (po)
(call-with-output-file "version.h" (chmod po #o666))
(lambda (port) (find-files "." "\\.po$"))
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
,(string-drop version ;; This would normally be created by invoking 'git', but it
(+ 1 (string-index version #\-)))) ;; doesn't work here.
(format port "#define PACKAGE_DOTTED_VERSION \"~a\"~%" (call-with-output-file "version.h"
,(string-take version (lambda (port)
(string-index version #\-))) (format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
(format port "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%"))) ,(string-drop version
#t)) (+ 1 (string-index version #\-))))
(add-after 'install 'compile-scheme-files (format port "#define PACKAGE_DOTTED_VERSION \"~a\"~%"
(lambda* (#:key outputs #:allow-other-keys) ,(string-take version
(invoke "make" "precompile") (string-index version #\-)))
(for-each (lambda (program) (format port "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))
(wrap-program program #t))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (add-after 'install 'compile-scheme-files
(,(string-append (assoc-ref outputs "out") (lambda* (#:key outputs #:allow-other-keys)
"/share/lepton-eda/ccache/"))))) (unsetenv "LIBLEPTONGUI")
(find-files (string-append (assoc-ref outputs "out") "/bin") (unsetenv "LIBLEPTON")
".*")) (unsetenv "LD_LIBRARY_PATH")
#t)))))) (invoke "make" "precompile")
#t)))))
(description (description
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set "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 forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit