diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 146 |
1 files changed, 89 insertions, 57 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 13105ca8fa..d50c167cce 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -135,6 +135,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-science) @@ -248,13 +249,13 @@ plans and designs.") "19688b0671imy2i3jphcnq1120b8ymhr4wz2psiqylr82ljanqp8")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases + (list + #:phases + '(modify-phases %standard-phases ;; tests require a writable HOME (add-before 'check 'set-home (lambda _ - (setenv "HOME" (getenv "TMPDIR")) - #t)) + (setenv "HOME" (getenv "TMPDIR")))) (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "xorn/tests/Makefile.in" @@ -262,23 +263,23 @@ plans and designs.") ;; This test returns its correct result in an unexpected order. (substitute* "libgeda/scheme/unit-tests/t0402-config.scm" (("\\(begin-config-test 'config-keys" m) - (string-append "#;" m))) - #t))) - #:configure-flags - (let ((pcb (assoc-ref %build-inputs "pcb"))) - (list (string-append "--with-pcb-datadir=" pcb "/share") - (string-append "--with-pcb-lib-path=" - pcb "/share/pcb/pcblib-newlib:" - pcb "/share/pcb/newlib"))))) + (string-append "#;" m)))))) + #:configure-flags + #~(let ((pcb #$(this-package-input "pcb"))) + (list (string-append "--with-pcb-datadir=" pcb "/share") + (string-append "--with-pcb-lib-path=" + pcb "/share/pcb/pcblib-newlib:" + pcb "/share/pcb/newlib"))))) (inputs - `(("gamin" ,gamin) - ("glib" ,glib) - ("gtk" ,gtk+-2) - ("guile" ,guile-2.0) - ("shared-mime-info" ,shared-mime-info) - ("m4" ,m4) - ("pcb" ,pcb) - ("python" ,python-2))) ; for xorn + (list gamin + gdk-pixbuf + glib + gtk+-2 + guile-2.0 + shared-mime-info + m4 + pcb + python-2)) ; for xorn (native-inputs (list groff pkg-config desktop-file-utils perl)) ; for tests (home-page "http://geda-project.org/") @@ -890,8 +891,8 @@ fonts to gEDA.") (license license:gpl2+)))) (define-public libfive - (let ((commit "8ca1b8685ef3fac7b64e66b10459b8421a3020c6") - (revision "4")) + (let ((commit "b1ea998d8adb3884ab52798f7388f4354145f452") + (revision "5")) (package (name "libfive") (version (git-version "0" revision commit)) @@ -902,17 +903,38 @@ fonts to gEDA.") (commit commit))) (sha256 (base32 - "1c762cd70iv2b9av0l9lq0py9138y98wk3dirhdmil7jncdhvq98")) + "0j91qq9d7949d2zs5wxyqd0ly644nb5690s8xnr6pchjl9z6pqxv")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(#:test-target "libfive-test" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-native-compilation - (lambda _ - (substitute* "CMakeLists.txt" (("-march=native") "")) - #t))))) + (list + #:test-target "libfive-test" + #:configure-flags + #~(list (string-append "-DGUILE_CCACHE_DIR=" + #$output "/lib/guile/3.0/site-ccache")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-autocompilation + (lambda _ (setenv "HOME" "/tmp"))) + (add-after 'unpack 'remove-native-compilation + (lambda _ + (substitute* "CMakeLists.txt" (("-march=native") "")))) + (add-after 'unpack 'fix-library-location + (lambda _ + (substitute* "libfive/bind/guile/libfive/lib.scm" + (("\\(get-environment-variable \"LIBFIVE_FRAMEWORK_DIR\"\\)" m) + (string-append m "\n\"" #$output "/lib/\"")) + (("\\(get-environment-variable \"LIBFIVE_STDLIB_DIR\"\\)" m) + (string-append m "\n\"" #$output "/lib/\""))))) + (add-after 'install 'install-scm-files + (lambda _ + (for-each + (lambda (file) + (install-file file + (string-append #$output + "/share/guile/site/3.0/libfive"))) + (find-files "../source/libfive/bind/guile/libfive" + "\\.scm$"))))))) (native-inputs (list pkg-config)) (inputs @@ -947,24 +969,23 @@ language.") (base32 "0lan6930g5a9z4ack9jj0zdd0mb2s6q2xzpiwcjdc3pvl9b1nbw4")) (modules '((guix build utils))) + ;; Allow builds with Guile 3.0. (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("2\\.2") "3.0 2.2")) - #t)))) + '(substitute* "configure.ac" + (("2\\.2") "3.0 2.2"))))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-libfive-guile-location - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "inspekt3d/library.scm" - (("\"libfive-guile") - (string-append "\"" - (assoc-ref inputs "libfive") - "/lib/libfive-guile"))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-libfive-guile-location + (lambda _ + (substitute* "inspekt3d/library.scm" + (("\\(load-extension \"libfive-guile\" \"scm_init_libfive_modules\"\\)") "#t") + (("\"libfive-guile") + (string-append "\"" + #$(this-package-input "libfive") + "/lib/libfive-stdlib")))))))) (native-inputs (list autoconf automake pkg-config)) (inputs @@ -1288,7 +1309,7 @@ WiFi signal strength maps. It visualizes them using a Voronoi diagram.") (define-public volk (package (name "volk") - (version "2.4.1") + (version "3.0.0") (source (origin (method git-fetch) @@ -1298,19 +1319,26 @@ WiFi signal strength maps. It visualizes them using a Voronoi diagram.") (recursive? #t))) ; for cpu_features git submodule (file-name (git-file-name name version)) (sha256 - (base32 "1mkqiw0i2fbbsk46zvk8yv5swl7ifhq6y1dlfphq8dsmkvxckqby")))) + (base32 "0a59lnjh6hx2bmyn04f8r0ymwss1ss1iih2jwrl9jblkxsw0i3lh")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-check-lgpl-test + ;; Disable the failing check-lgpl test that is supposed to be run + ;; only by upstream developers to check the authors and licenses + ;; of contributions in the git history. + (lambda _ + (substitute* "scripts/licensing/count_contrib.sh" + (("#!/bin/bash" all) + (string-append all "\nexit 0"))))) (add-after 'install 'remove-static-libraries ;; Remove libcpu_features.a (and any others that might appear). (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib"))) (for-each delete-file (find-files lib "\\.a$" - #:fail-on-error? #t)) - #t))) + #:fail-on-error? #t))))) (add-after 'install 'wrap-pythonpath (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1326,8 +1354,7 @@ WiFi signal strength maps. It visualizes them using a Voronoi diagram.") (wrap-program file `("GUIX_PYTHONPATH" ":" prefix (,path)) `("PATH" ":" prefix - (,(string-append python "/bin:"))))) - #t))))) + (,(string-append python "/bin:")))))))))) (inputs `(("boost" ,boost) ("python" ,python-wrapper) @@ -1339,7 +1366,8 @@ WiFi signal strength maps. It visualizes them using a Voronoi diagram.") with machine-specific optimizations for mathematical functions. It also provides a machine-independent interface to select the best such procedures to use on a given system.") - (license license:gpl3+))) + (license (list license:asl2.0 ; cpu_features + license:lgpl3+)))) (define-public libredwg (package @@ -2456,7 +2484,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.") (substitute* "pyvisa/shell.py" (("from .thirdparty import prettytable") "import prettytable"))))))) - (native-inputs (list python-pytest-7.1)) + (native-inputs (list python-pytest)) (propagated-inputs (list python-dataclasses python-prettytable python-typing-extensions)) (home-page "https://pyvisa.readthedocs.io/en/latest/") @@ -2493,7 +2521,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.") python-flake8 python-nbval python-networkx - python-pytest-7.1 + python-pytest python-pytest-cov python-pyvisa)) (home-page "https://scikit-rf.org/") @@ -3446,6 +3474,7 @@ perform various useful functions such as: ("gmp" ,gmp) ("mesa" ,mesa) ("mpfr" ,mpfr) + ("tbb" ,tbb) ("tinyxml2" ,tinyxml2) ;; When updating this package, update commit fields below according to ;; the hashes listed in "cmake/LibiglDownloadExternal.cmake". @@ -3499,7 +3528,7 @@ visualization, matrix manipulation.") (define-public prusa-slicer (package (name "prusa-slicer") - (version "2.5.0") + (version "2.5.2") (source (origin (method git-fetch) @@ -3508,7 +3537,10 @@ visualization, matrix manipulation.") (url "https://github.com/prusa3d/PrusaSlicer") (commit (string-append "version_" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "17ic92ww2ny0frxyv7ajwdwa0fq70ygq562ik8sh94jx67jvxdy0")) + (sha256 (base32 "02qcrw3fa0d8ldbp73hp14l1qxbp3f4608j4csc07ny00ra42151")) + (patches (search-patches "prusa-slicer-boost-fixes.patch" + "prusa-slicer-fix-tests.patch" + "prusa-slicer-with-cereal-1.3.1.patch")) (modules '((guix build utils))) (snippet '(begin @@ -3544,7 +3576,7 @@ visualization, matrix manipulation.") (list pkg-config)) (inputs (list boost - cereal-1.3.0 + cereal cgal curl dbus |