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.scm146
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