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.
This commit is contained in:
		
							parent
							
								
									14e89ae7d9
								
							
						
					
					
						commit
						1f0f5d017d
					
				
					 1 changed files with 82 additions and 45 deletions
				
			
		| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue