diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 143 |
1 files changed, 77 insertions, 66 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 20402151cb..ee7c73893d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 David Thompson <davet@gnu.org> @@ -209,7 +209,7 @@ plans and designs.") (define-public geda-gaf (package (name "geda-gaf") - (version "1.10.0") + (version "1.10.2") (source (origin (method url-fetch) (uri (string-append @@ -218,7 +218,7 @@ plans and designs.") version "/geda-gaf-" version ".tar.gz")) (sha256 (base32 - "06ivgarvwbzjz2wigxzzkm8iszldi2p6x3a6jnlczjyrz4csddsy")))) + "19688b0671imy2i3jphcnq1120b8ymhr4wz2psiqylr82ljanqp8")))) (build-system gnu-build-system) (arguments '(#:phases @@ -253,7 +253,8 @@ plans and designs.") ("pcb" ,pcb) ("python" ,python-2))) ; for xorn (native-inputs - `(("pkg-config" ,pkg-config) + `(("groff" ,groff) + ("pkg-config" ,pkg-config) ("desktop-file-utils" ,desktop-file-utils) ("perl" ,perl))) ; for tests (home-page "http://geda-project.org/") @@ -316,7 +317,8 @@ utilities.") (string-append "--with-pcb-datadir=" pcb "/share") (string-append "--with-pcb-lib-path=" pcb "/share/pcb/pcblib-newlib:" - pcb "/share/pcb/newlib"))) + pcb "/share/pcb/newlib") + "CFLAGS=-fcommon")) #:phases (modify-phases %standard-phases (add-before 'build 'fix-dynamic-link @@ -328,12 +330,10 @@ utilities.") (substitute* '("libleptongui/scheme/schematic/ffi/gtk.scm.in" "utils/attrib/lepton-attrib.scm") (("@LIBGTK@") - (string-append (assoc-ref inputs "gtk") - "/lib/libgtk-3.so"))) + (search-input-file inputs "/lib/libgtk-3.so"))) (substitute* '("libleptongui/scheme/schematic/ffi/gobject.scm.in") (("@LIBGOBJECT@") - (string-append (assoc-ref inputs "glib") - "/lib/libgobject-2.0.so"))) + (search-input-file inputs "/lib/libgobject-2.0.so"))) (substitute* "liblepton/scheme/lepton/ffi.scm.in" (("@LIBLEPTON@") (string-append (assoc-ref outputs "out") @@ -344,8 +344,7 @@ utilities.") "/lib/libleptonattrib.so"))) (substitute* "liblepton/scheme/lepton/log.scm.in" (("@LIBGLIB@") - (string-append (assoc-ref inputs "glib") - "/lib/libglib-2.0.so"))) + (search-input-file inputs "/lib/libglib-2.0.so"))) ;; For finding libraries when running tests before installation. (setenv "LIBLEPTONGUI" @@ -430,7 +429,8 @@ features."))) ;; fix of the mesa package we wrap the pcb executable such that ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. (let* ((out (assoc-ref outputs "out")) - (path (string-append (assoc-ref inputs "udev") "/lib"))) + (path (dirname + (search-input-file inputs "/lib/libudev.so")))) (wrap-program (string-append out "/bin/pcb") `("LD_LIBRARY_PATH" ":" prefix (,path)))) #t)) @@ -519,7 +519,7 @@ featuring various improvements and bug fixes."))) ;; FIXME: with texlive-tiny citation references are rendered as question ;; marks. During the build warnings like these are printed: ;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3. - `(("texlive" ,(texlive-union (list texlive-fonts-amsfonts))) + `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts))) ("ghostscript" ,ghostscript))) (arguments `(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all") @@ -735,6 +735,8 @@ ready for production.") (base32 "1d2k43k7i4yvbpi4sw1263a8d0q98z2n7aqhmpinpkih8a681vn5")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("CFLAGS=-fcommon"))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("desktop-file-utils" ,desktop-file-utils) @@ -924,6 +926,16 @@ Emacs).") (string-append "NGSPICE_DLL_FILE=\"" (assoc-ref inputs "libngspice") "/lib/libngspice.so\""))))) + (add-after 'unpack 'fix-python-detection + (lambda _ + (substitute* "CMakeModules/FindPythonLibs.cmake" + (("_PYTHON3_VERSIONS 3\\.8 3\\.7") + "_PYTHON3_VERSIONS 3.9 3.8 3.7")))) + (add-after 'unpack 'add-missing-include + (lambda _ + (substitute* "common/lib_tree_model.cpp" + (("#include <eda_pattern_match.h>" all) + (string-append "#include <algorithm>\n" all))))) (add-after 'install 'install-translations (lambda* (#:key inputs outputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "kicad-i18n") @@ -941,9 +953,9 @@ Emacs).") ,(version-major+minor (package-version python)) "/site-packages:" - (getenv "PYTHONPATH")))) + (getenv "GUIX_PYTHONPATH")))) (wrap-program file - `("PYTHONPATH" ":" prefix (,path)) + `("GUIX_PYTHONPATH" ":" prefix (,path)) `("PATH" ":" prefix (,(string-append python "/bin:"))))) #t))))) @@ -1147,6 +1159,8 @@ worksheet templates."))) (base32 "13qj7n9826qc9shkkgd1p6vcpj78v4h9d67wbg45prg7rbnzkzds")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("CFLAGS=-fcommon"))) (native-inputs `(("pkg-config" ,pkg-config) ("gtk" ,gtk+-2) @@ -1233,9 +1247,9 @@ WiFi signal strength maps. It visualizes them using a Voronoi diagram.") ,(version-major+minor (package-version python)) "/site-packages:" - (getenv "PYTHONPATH")))) + (getenv "GUIX_PYTHONPATH")))) (wrap-program file - `("PYTHONPATH" ":" prefix (,path)) + `("GUIX_PYTHONPATH" ":" prefix (,path)) `("PATH" ":" prefix (,(string-append python "/bin:"))))) #t))))) @@ -1990,19 +2004,14 @@ parallel computing platforms. It also supports serial execution.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "freehdl/freehdl-config" (("pkg-config") - (string-append (assoc-ref inputs "pkg-config") - "/bin/pkg-config")) + (search-input-file inputs "/bin/pkg-config")) (("cat") - (string-append (assoc-ref inputs "coreutils") - "/bin/cat"))) - #t)) + (search-input-file inputs "/bin/cat"))))) (add-after 'patch-pkg-config 'setenv (lambda* (#:key inputs #:allow-other-keys) - (setenv "CXX" (string-append (assoc-ref inputs "gcc") - "/bin/g++")) - (setenv "SYSTEM_LIBTOOL" (string-append (assoc-ref inputs "libtool") - "/bin/libtool")) - #t)) + (setenv "CXX" (search-input-file inputs "/bin/g++")) + (setenv "SYSTEM_LIBTOOL" + (search-input-file inputs "/bin/libtool")))) (add-after 'setenv 'patch-gvhdl (lambda _ (substitute* "v2cc/gvhdl.in" @@ -2013,7 +2022,7 @@ parallel computing platforms. It also supports serial execution.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "freehdl/freehdl-gennodes.in" (("guile") - (string-append (assoc-ref inputs "guile") "/bin/guile")) + (search-input-file inputs "/bin/guile")) (("\\(debug") ";(debug") (("\\(@ ") "(apply-emit") (("\\(@@ ") "(apply-mini-format")) @@ -2092,8 +2101,7 @@ parallel computing platforms. It also supports serial execution.") (lambda* (#:key inputs outputs #:allow-other-keys) (mkdir-p "build") (chdir "build") - (let ((lrelease (string-append (assoc-ref inputs "qttools") - "/bin/lrelease")) + (let ((lrelease (search-input-file inputs "/bin/lrelease")) (out (assoc-ref outputs "out"))) (invoke "qmake" (string-append "QMAKE_LRELEASE=" lrelease) @@ -2405,14 +2413,16 @@ comments."))) (name "freecad") (version "0.19.2") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/FreeCAD/FreeCAD") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FreeCAD/FreeCAD") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm")) + (patches (search-patches "freecad-vtk9.patch" + "freecad-boost-serialization.patch")))) (build-system qt-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -2459,34 +2469,37 @@ comments."))) ("qtxmlpatterns" ,qtxmlpatterns) ("sqlite" ,sqlite) ("tbb" ,tbb) - ("vtk" ,vtk-8) + ("vtk" ,vtk) ("xerces-c" ,xerces-c) ("zlib" ,zlib))) (arguments `(#:tests? #f ; Project has no tests #:configure-flags - (list - "-DBUILD_QT5=ON" - "-DBUILD_FLAT_MESH:BOOL=ON" - (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib") - (string-append "-DPYSIDE2UICBINARY=" - (assoc-ref %build-inputs "python-pyside-2-tools") - "/bin/uic") - (string-append "-DPYSIDE2RCCBINARY=" - (assoc-ref %build-inputs "python-pyside-2-tools") - "/bin/rcc") - "-DPYSIDE_LIBRARY=PySide2::pyside2" - (string-append - "-DPYSIDE_INCLUDE_DIR=" - (assoc-ref %build-inputs "python-pyside-2") "/include;" - (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;" - (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;" - (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;" - (assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;") - "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" - (string-append "-DSHIBOKEN_INCLUDE_DIR=" - (assoc-ref %build-inputs "python-shiboken-2") - "/include/shiboken2")) + ,#~(list + "-DBUILD_QT5=ON" + "-DBUILD_FLAT_MESH:BOOL=ON" + "-DBUILD_ENABLE_CXX_STD:STRING=C++17" + (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib") + (string-append "-DPYSIDE2UICBINARY=" + #$(this-package-native-input + "python-pyside-2-tools") + "/bin/uic") + (string-append "-DPYSIDE2RCCBINARY=" + #$(this-package-native-input + "python-pyside-2-tools") + "/bin/rcc") + "-DPYSIDE_LIBRARY=PySide2::pyside2" + (string-append + "-DPYSIDE_INCLUDE_DIR=" + #$(this-package-input "python-pyside-2") "/include;" + #$(this-package-input "python-pyside-2") "/include/PySide2;" + #$(this-package-input "python-pyside-2") "/include/PySide2/QtCore;" + #$(this-package-input "python-pyside-2") "/include/PySide2/QtWidgets;" + #$(this-package-input "python-pyside-2") "/include/PySide2/QtGui;") + "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" + (string-append "-DSHIBOKEN_INCLUDE_DIR=" + #$(this-package-input "python-shiboken-2") + "/include/shiboken2")) #:phases (modify-phases %standard-phases (add-before 'configure 'restore-pythonpath @@ -2497,8 +2510,8 @@ comments."))) (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/FreeCAD") - (list "PYTHONPATH" - 'prefix (list (getenv "PYTHONPATH")))))))))) + (list "GUIX_PYTHONPATH" + 'prefix (list (getenv "GUIX_PYTHONPATH")))))))))) (home-page "https://www.freecadweb.org/") (synopsis "Your Own 3D Parametric Modeler") (description @@ -2787,9 +2800,7 @@ GUI.") "06qgry1pal2vampmbmc1lzlhf1qnjkd8py781r5h020v981n6y5s")))) (build-system gnu-build-system) ;; The GUI, which we elide, requires tcl and tk. - (native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5. - ;; Bison 3.6 will be available in the next core update. - ("bison-3.6" ,bison-3.6) + (native-inputs `(("bison" ,bison) ("clisp" ,clisp) ("dejagnu" ,dejagnu) ("flex" ,flex) |