summaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm143
1 files changed, 77 insertions, 66 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index dc119f5d63..4237b042e3 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
@@ -2828,9 +2841,7 @@ GUI.")
(delete-file "libpoke/pvm-vm2.c")))))
(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)
("dejagnu" ,dejagnu)
("flex" ,flex)
("libtool" ,libtool)