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.scm499
1 files changed, 120 insertions, 379 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 77383428b5..889de1cb43 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
@@ -33,7 +34,7 @@
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
-;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
@@ -44,6 +45,7 @@
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,6 +83,7 @@
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages aidc)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
@@ -107,7 +110,6 @@
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
- #:use-module (gnu packages fpga)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
@@ -118,7 +120,6 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
@@ -164,7 +165,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-check)
- #:use-module (gnu packages textutils)
#:use-module (gnu packages sagemath)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
@@ -189,85 +189,6 @@
#:use-module (gnu packages xorg)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public aacircuit
- ;; No release in PyPI or version tag on Git, use the latest commit.
- (let ((commit "18635c846754b6219da1a2ceb8977714f70004d0")
- (revision "0"))
- (package
- (name "aacircuit")
- (version (git-version "0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Blokkendoos/AACircuit")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "07agb7fbpbq74zm27j9b00imr46q6kpwhxzmmffw2s9scv80c1km"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:imported-modules `((guix build glib-or-gtk-build-system)
- ,@%pyproject-build-system-modules)
- #:modules '(((guix build glib-or-gtk-build-system)
- #:prefix glib-or-gtk:)
- (guix build pyproject-build-system)
- (guix build utils))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
- (assoc-ref glib-or-gtk:%standard-phases
- 'generate-gdk-pixbuf-loaders-cache-file))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Delete develompent test file.
- (delete-file "tests/test_flake.py")
- ;; Exclude tests intended for visual review.
- (setenv "NOSE_EXCLUDE"
- (string-join '("test_export_pdf"
- "test_import_aacircuit_export_pdf")
- ","))
- (setenv "HOME" "/tmp")
- (invoke "xvfb-run" "./testrunner.sh"))))
- (add-after 'wrap 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases
- 'glib-or-gtk-wrap))
- (add-after 'glib-or-gtk-wrap 'wrap-aacircuit
- (lambda* (#:key outputs #:allow-other-keys)
- (wrap-program (string-append (assoc-ref outputs "out")
- "/bin/aacircuit")
- `("GDK_PIXBUF_MODULE_FILE" =
- (,(getenv "GDK_PIXBUF_MODULE_FILE")))
- `("GI_TYPELIB_PATH" ":" prefix
- (,(getenv "GI_TYPELIB_PATH")))))))))
- (native-inputs
- ;; XXX: Test runner may be migrated to Pytest
- ;; <https://docs.pytest.org/en/7.1.x/how-to/nose.html> after report to
- ;; the upstream to modify them, use deprecated Nose test runner for
- ;; now.
- (list python-nose
- python-setuptools
- python-wheel
- xvfb-run))
- (inputs
- (list bash-minimal
- gtk+
- python-bresenham
- python-platformdirs
- python-pycairo
- python-pyclip
- python-pygobject
- python-pypubsub))
- (home-page "https://github.com/Blokkendoos/AACircuit")
- (synopsis "Draw electronic circuits with ASCII characters")
- (description
- "This is a pythonized, kind of reverse engineered version of original
-AACircuit written by Andreas Weber in Borland Delphi. The idea and GUI layout
-are also taken from the original.")
- (license license:gpl3+))))
-
(define-public cutecom
(package
(name "cutecom")
@@ -936,119 +857,6 @@ such as those made in pneumatics, hydraulics, process industries, electronics,
and others.")
(license license:gpl2+)))
-(define-public qucsator-rf
- (package
- (name "qucsator-rf")
- (version "1.0.6") ;required by qucs-s, keep in sync
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ra3xdh/qucsator_rf/")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0fx0kzj6hn0094jnvn6b1zqwjnkmd79xdr0zdyz5lmsyixlmxmvk"))))
- (build-system cmake-build-system)
- (arguments
- (list
- #:tests? #f ;no tests
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'run-tests
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Qucs-test is a collection of python scripts and data test
- ;; cases. Its purpose is to test Qucs (GUI) and Qucsator;
- ;; tests are under `testsuite` directory.
- (copy-recursively
- #$(origin
- (method git-fetch)
- (uri
- ;; Using latest revision; refer to
- ;; .github/workflows/cmake.yml to keep up to date.
- (git-reference
- (url "https://github.com/ra3xdh/qucs-test/")
- (commit "ce69e05ceecab910175e6ea36b6e021a6d279947")))
- (sha256
- (base32
- (string-append "1r3hx43wvd0s11mzsvj1chylzv"
- "0lk9qhaw7205j9x316ly03bl08"))))
- "qucs-test")
- (with-directory-excursion "qucs-test"
- (invoke "python3" "run.py" "--qucsator"
- (format #f "--prefix=~a/bin" #$output)
- "--exclude=skip.txt"))))))
- #:configure-flags
- #~(list (format #f "-DBISON_DIR=~a/bin"
- #$(this-package-native-input "bison"))
- (format #f "-DADMSXML_DIR=~a/bin"
- #$(this-package-native-input "adms")))))
- (native-inputs
- (list adms bison dos2unix flex gperf python python-looseversion
- python-numpy python-matplotlib))
- (synopsis "RF and microwave circuits simulator")
- (description
- "@code{Qucsator-rf} is a command line driven circuit simulator targeted
-for RF and microwave circuits. It takes a network list in a certain format as
-input and outputs an XML dataset.")
- (home-page "https://ra3xdh.github.io//")
- (license license:gpl2+)))
-
-(define-public qucs-s
- (package
- (name "qucs-s")
- (version "25.1.2") ;update qucsator-rf accordingly
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ra3xdh/qucs_s")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07wrpqgbj77rmh1yxy233lk1y4ys1x0721b3jsldp058dcgf24zv"))))
- (build-system qt-build-system)
- (arguments
- (list
- #:qtbase qtbase ;for Qt 6
- #:tests? #f ;no tests
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'adjust-default-settings
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "qucs/settings.cpp"
- (("\"ngspice\"")
- (format #f "~s" (search-input-file inputs "bin/ngspice")))
- (("\"octave\"")
- (format #f "~s" (search-input-file inputs "bin/octave"))))))
- (add-after 'install 'wrap-program
- (lambda _
- (wrap-program (string-append #$output "/bin/qucs-s")
- `("PATH" ":" prefix
- (,(string-append #$(this-package-input "ngspice") "/bin")
- ,(string-append
- #$(this-package-input "qucsator-rf") "/bin")))))))))
- (native-inputs (list qttools))
- (inputs
- ;; TODO Add xyce-serial to the list.
- (list bash-minimal octave qtbase qtcharts qtsvg qtwayland qucsator-rf ngspice))
- (synopsis "GUI for different circuit simulation kernels")
- (description
- "@acronym{Qucs-S, Quite universal circuit simulator with SPICE} provides
-a fancy graphical user interface for a number of popular circuit simulation
-engines. The package contains libraries for schematic capture, visualization
-and components. The following simulation kernels are supported:
-@itemize
-@item Ngspice (recommended)
-@item Xyce
-@item SpiceOpus
-@item Qucsator (non-SPICE)
-@end itemize\n")
- (home-page "https://ra3xdh.github.io/")
- (license license:gpl2+)))
-
(define-public gerbv
(package
(name "gerbv")
@@ -1308,7 +1116,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
- (version "9.0.3")
+ (version "9.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1316,7 +1124,7 @@ Emacs).")
(commit version)))
(sha256
(base32
- "19rij2hz79rsmikdbygxzll2l7im5qi3i6phz4sdiagkc5k8b3rb"))
+ "0wmnkiyqv32c5nz4nvz94dld3rk5ir49nh71cycig6clvjvy11r5"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1425,7 +1233,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "186nmy222m2k8snwk5i2f9igamflj9avfnhv5ksrbhx5wyrx7fy2"))))
+ "006gfryibmlhmj7vhv8kf13jp84pnxd59m678f20zxrl363b9hnz"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1456,7 +1264,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0r9aimyrv7p4ykqnwb9ac3fd0dv11zmv2ll6qkmm5s875s35hhfl"))))
+ "0msgq8p3zlfc3glqr1h8n0a1agk4hjdqxqdiny5b4d0hgiy6hhmx"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1485,7 +1293,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ysnj0973y05nn016hxrghccfv65cas772i369xflay0sns8anqf"))))
+ "179y7xmz7mwsfsv4dcw2dx689xfzqk8y38d21s69yiaalyxflhh1"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1502,7 +1310,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0njv4y31k62qhcx0xxcl94p34jgna8z4bs3hwjwzjfmp7ddl2dyx"))))
+ "1y7yhynrr87q80gcb8qlkyrdccz1sllsxqymrnghhxbfk4wbwwn8"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1761,8 +1569,7 @@ use on a given system.")
parallel
perl
pkg-config
- python-wrapper
- python-libxml2))
+ python-wrapper))
(inputs
(list pcre2))
(home-page "https://www.gnu.org/software/libredwg/")
@@ -1772,6 +1579,31 @@ use on a given system.")
replacement for the OpenDWG libraries.")
(license license:gpl3+)))
+(define-public microcom
+ (package
+ (name "microcom")
+ (version "2023.09.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.pengutronix.de/git/tools/microcom.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18qr9rwn3b82h042jrz1syfiiqyf3cbpdr8vv0s5p5f51f2l3vj7"))))
+ (build-system gnu-build-system)
+ (inputs (list readline))
+ (native-inputs (list automake autoconf))
+ (home-page "https://git.pengutronix.de/cgit/tools/microcom")
+ (synopsis "Minimalistic serial line terminal program")
+ (description
+ "Microcom is a minimalistic terminal program for accessing devices
+via a serial connection. It features connection via RS232 serial interfaces
+(including setting of transfer rates) as well as in @code{telnetmode} as
+specified in rfc2217 and a (Linux specific) CAN mode.")
+ (license license:gpl2+)))
+
(define-public minicom
(package
(name "minicom")
@@ -2167,7 +1999,7 @@ bindings for Python, Java, OCaml and more.")
(define-public python-platypush
(package
(name "python-platypush")
- (version "1.3.6")
+ (version "1.3.7")
(source
(origin
(method git-fetch)
@@ -2176,7 +2008,7 @@ bindings for Python, Java, OCaml and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1957xkh7n5dhjb1kwhfpncfp6g1g6zgszwcrbj3l9h0gcrxlx8p0"))))
+ (base32 "0nh7107j4j0l65bsqpff0ar1609n5a5lh78d8wjsmylwyg9j9kyk"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2197,7 +2029,9 @@ bindings for Python, Java, OCaml and more.")
python-croniter
python-docutils
python-flask
- python-marshmallow
+ ;; v4 is supported in upcomming release, see
+ ;; <https://git.platypush.tech/platypush/platypush/issues/445>.
+ python-marshmallow-3
python-pillow
python-pygments
python-pyotp
@@ -2212,6 +2046,7 @@ bindings for Python, Java, OCaml and more.")
python-sqlalchemy-2
python-tornado
python-urllib3
+ python-watchdog
python-websocket-client
python-websockets
python-werkzeug
@@ -2227,7 +2062,7 @@ multiple services and devices with hundreds of supported integrations.")
(define-public python-esptool
(package
(name "python-esptool")
- (version "5.0.1")
+ (version "5.0.2")
(source
(origin
(method git-fetch)
@@ -2236,7 +2071,7 @@ multiple services and devices with hundreds of supported integrations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04asqw6g4lhkz6fqn22wwk2wjq5q8c00m2k8wylksrc0v2f582i9"))))
+ (base32 "1wl75j6ncm5lahy9pzc38qivhaf9p42a2bijishdkwkw388fs6x1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2258,11 +2093,10 @@ multiple services and devices with hundreds of supported integrations.")
python-pyserial
python-pyyaml
python-reedsolo
- python-rich-click-next))
+ python-rich-click))
(native-inputs (list python-pyelftools
python-pytest
- python-setuptools
- python-wheel))
+ python-setuptools))
(home-page "https://github.com/espressif/esptool")
(synopsis "Bootloader utility for Espressif ESP8266 & ESP32 chips")
(description
@@ -2285,22 +2119,20 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; tests require git and network access
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'mklibdir
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
- #t)))
- #:configure-flags
- (list "--with-openssl"
- "--with-rpath"
- "--with-syscapstone"
- "--with-sysmagic"
- "--with-syszip"
- "--with-sysxxhash")
- #:make-flags
- (list "CC=gcc")))
+ (list
+ #:tests? #f ; tests require git and network access
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'mklibdir
+ (lambda _ (mkdir-p (string-append #$output "/lib")))))
+ #:configure-flags
+ #~(list "--with-openssl"
+ "--with-rpath"
+ "--with-syscapstone"
+ "--with-sysmagic"
+ "--with-syszip"
+ "--with-sysxxhash")
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
;; TODO: Add gmp and libzip and make the build system actually find them.
(inputs
(list capstone libuv openssl zip))
@@ -2355,7 +2187,7 @@ and a fallback for environments without libc for Zydis.")
(define-public zydis
(package
(name "zydis")
- (version "4.1.0")
+ (version "4.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2363,7 +2195,7 @@ and a fallback for environments without libc for Zydis.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "15iw6wcg2van8pw54xs15zk5cniqm8d8vbd1w1br9azv8jxsqjva"))))
+ (base32 "1f6caps6i5hinx4j3fcsxyqmqr2mszc9ah83jpq0bidp956jk7p8"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags
#~(list "-DZYAN_SYSTEM_ZYCORE=ON"
@@ -2637,111 +2469,6 @@ parallel computing platforms. It also supports serial execution.")
,@(alist-delete "trilinos"
(package-inputs xyce-serial))))))
-(define-public freehdl
- (package
- (name "freehdl")
- (version "0.0.8")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://downloads.sourceforge.net/qucs/freehdl-"
- version ".tar.gz"))
- (sha256
- (base32
- "117dqs0d4pcgbzvr3jn5ppra7n7x2m6c161ywh6laa934pw7h2bz"))
- (patches
- (list (origin
- ;; Fix build with GCC 7. Patch taken from Arch Linux:
- ;; https://github.com/archlinux/svntogit-community/tree/packages/freehdl/trunk
- (method url-fetch)
- (uri (string-append "https://raw.githubusercontent.com"
- "/archlinux/svntogit-community"
- "/3bb90d64dfe6883e26083cd1fa96226d0d59175a"
- "/trunk/build-fix.patch"))
- (file-name "freehdl-c++-namespace.patch")
- (sha256
- (base32
- "09df3c70rx81rnhlhry1wpdhji274nx9jb74rfprk06l4739zm08")))))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-pkg-config
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "freehdl/freehdl-config"
- (("pkg-config")
- (search-input-file inputs "/bin/pkg-config"))
- (("cat")
- (search-input-file inputs "/bin/cat")))))
- (add-after 'patch-pkg-config 'setenv
- (lambda* (#:key inputs #:allow-other-keys)
- (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"
- (("--mode=link") "--mode=link --tag=CXX")
- (("-lm") "-lm FREEHDL/lib/freehdl/libieee.la"))))
- (add-after 'patch-gvhdl 'patch-freehdl-gennodes
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "freehdl/freehdl-gennodes.in"
- (("guile")
- (search-input-file inputs "/bin/guile"))
- (("\\(debug") ";(debug")
- (("\\(@ ") "(apply-emit")
- (("\\(@@ ") "(apply-mini-format"))))
- (add-after 'configure 'patch-freehdl-pc
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "freehdl.pc"
- (("=g\\+\\+")
- (string-append "=" (assoc-ref inputs "gcc-toolchain")
- "/bin/g++"))
- (("=libtool")
- (string-append "=" (assoc-ref inputs "libtool")
- "/bin/libtool")))))
- (add-after 'install 'make-wrapper
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; 'gvhdl' invokes the C compiler directly, so hard-code its
- ;; file name.
- (wrap-program (string-append out "/bin/gvhdl")
- `("CPLUS_INCLUDE_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/include")))
- `("LIBRARY_PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/lib")))
- `("PATH" ":" prefix
- (,(string-append (assoc-ref inputs "gcc-toolchain")
- "/bin")
- ,(string-append (assoc-ref inputs "coreutils")
- "/bin"))))
- (wrap-program (string-append out "/bin/freehdl-config")
- `("PKG_CONFIG_PATH" ":" prefix
- (,(string-append out "/lib/pkgconfig"))))))))))
- (inputs
- (list bash-minimal
- coreutils
-
- ;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
- (module-ref (resolve-interface '(gnu packages commencement))
- 'gcc-toolchain)
-
- guile-2.2
- perl
- pkg-config
- libtool))
- (native-inputs
- `(("pkg-config-native" ,pkg-config)
- ("libtool-native" ,libtool)))
- (home-page "http://www.freehdl.seul.org/")
- (synopsis "VHDL simulator")
- (description
- "FreeHDL is a compiler/simulator suite for the hardware description language VHDL.
- VHDL'93 as well as VHDL'87 standards are supported.")
- (license (list license:gpl2+
- license:lgpl2.0+)))) ; freehdl's libraries
-
(define-public librepcb
(package
(name "librepcb")
@@ -2934,31 +2661,32 @@ simulation.")
(define-public cutter
(package
(name "cutter")
- (version "2.3.4")
+ (version "2.4.1") ;keep in sync with rizin
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rizinorg/cutter")
(commit (string-append "v" version))
+ ;; Needed for src/translations.
(recursive? #t)))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "rizin"))
(file-name (git-file-name name version))
(sha256
- (base32 "0d10g1wpw8p8hcxvw5q7ymfdxyrp4xqs6a49lf3gdgnmcpb248ad"))))
+ (base32 "090gfg90k0fn3jiyssdigjgb7xn473hxfm7gpl1rwn3kl6fv7lvw"))))
(build-system qt-build-system)
(arguments
(list
- #:configure-flags #~(list "-DCUTTER_USE_BUNDLED_RIZIN=OFF")
+ #:configure-flags
+ #~(list "-DCUTTER_USE_BUNDLED_RIZIN=OFF"
+ "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON"
+ "-DCUTTER_QT=5")
#:tests? #f)) ;no tests
- (native-inputs (list pkgconf))
- (inputs (list libzip
- openssl
- qtsvg-5
- qttools-5
- rizin
- zlib))
+ (native-inputs
+ (list pkgconf))
+ (inputs
+ (list graphviz libzip openssl qtsvg-5 qttools-5 rizin zlib))
(home-page "https://cutter.re")
(synopsis "Software reverse engineering platform")
(description
@@ -3035,7 +2763,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(define-public manifold
(package
(name "manifold")
- (version "3.1.1")
+ (version "3.2.1")
(source
(origin
(method git-fetch)
@@ -3044,7 +2772,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1vipfy68crvik3760jjmsqnyci6rabb26iiw22p2qpb3cj6r683l"))))
+ (base32 "0fy78axwhlk3gpxhmac4gbyvsadky1kzqbh4cv5snahzmi4bixvp"))))
(build-system cmake-build-system)
(inputs (list tbb clipper2 assimp python-nanobind googletest))
(arguments
@@ -3228,7 +2956,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
(define-public python-scikit-rf
(package
(name "python-scikit-rf")
- (version "1.7.0")
+ (version "1.8.0")
(source (origin
(method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference
@@ -3236,7 +2964,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
(commit (string-append "v" version))))
(sha256
(base32
- "148bfdbh0y69f5xhxb49jqvc6gabk0n4i0fl1j5f3fnm9vaypyis"))
+ "0hzgqsj2jnbimb8klijak44bhm7f3lnxvppaddgq1zxr063sj0y1"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy
@@ -3296,8 +3024,8 @@ ontinuous-time and discret-time expressions.")
(license license:lgpl2.1+)))
(define-public openscad
- (let ((commit "6a8ab04bfd8bbe5cafab3efb74d2b46cb33fafe7")
- (version "2025.07.25")
+ (let ((commit "5d6e37dd177d9d9329234cb5d3c0491ab0f23dcd")
+ (version "2025.09.02")
(revision "0"))
(package
(name "openscad")
@@ -3313,9 +3041,9 @@ ontinuous-time and discret-time expressions.")
;; deleted in the patch-source build phase.
(recursive? #t)))
(sha256
- (base32 "0qvvi4qjadk2p5v2ca95hkkw0zi9vmzyac8hcxr14ijnk0f1ybd0"))
+ (base32 "1cga32b65wbap59nmw37f75ys3gj9bk09nqzq7949x9kqlal13mx"))
(file-name (git-file-name name version))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(arguments
(list
;; OpenSCAD doesn't cope well with out-of-source builds.
@@ -3446,9 +3174,9 @@ models in the STL and OFF file formats.")
(license license:gpl2+))))
(define-public pythonscad
- (let ((commit "e2641ca1a208a9a54a034a8818a9774ad4d5867c")
+ (let ((commit "92071afdffa6e2f6d99fe7e695c40044ec8aa16a")
(version "0.0.0")
- (revision "0"))
+ (revision "5"))
(package
(inherit openscad)
(name "pythonscad")
@@ -3464,7 +3192,7 @@ models in the STL and OFF file formats.")
;; deleted in the patch-source build phase.
(recursive? #t)))
(sha256
- (base32 "1i6yajamdrha2kpgyhn7jn6dv35qmgq0zsqv8cdzdqg5142v66ay"))
+ (base32 "1ivjbcf52xzavyrld5xjii7yrqf27c244ndzvysrdaz53s06nk90"))
(modules '((guix build utils)))
(snippet #~(begin
;; Delete all unbundled libraries to replace them with
@@ -3477,13 +3205,23 @@ models in the STL and OFF file formats.")
(file-name (git-file-name name version))))
(arguments
(substitute-keyword-arguments (package-arguments openscad)
- ((#:configure-flags flags
- '())
- #~(append #$flags
- (list "-DENABLE_LIBFIVE=ON" "-DUSE_BUILTIN_LIBFIVE=OFF"
- (string-append "-DPYTHON_VERSION="
- #$(version-major+minor
- (package-version python))))))
+ ((#:configure-flags flags)
+ #~(begin
+ (use-modules (srfi srfi-1))
+ (append
+ (remove (lambda (flag)
+ (or (string-prefix? "-DOPENSCAD_VERSION=" flag)
+ (string-prefix? "-DOPENSCAD_COMMIT=" flag)))
+ #$flags)
+ (list "-DENABLE_LIBFIVE=ON"
+ "-DUSE_BUILTIN_LIBFIVE=OFF"
+ (string-append "-DOPENSCAD_VERSION="
+ #$version)
+ (string-append "-DOPENSCAD_COMMIT="
+ #$commit)
+ (string-append "-DPYTHON_VERSION="
+ #$(version-major+minor
+ (package-version python)))))))
((#:phases phases)
#~(modify-phases #$phases
(replace 'patch-source
@@ -3502,7 +3240,7 @@ models in the STL and OFF file formats.")
"/share/sanitizers-cmake/cmake")))))))))
(inputs (modify-inputs (package-inputs openscad)
(append curl libfive)))
- (synopsis "Script-based 3D modeling app whith Python support")
+ (synopsis "Script-based 3D modeling app with Python support")
(description
"PythonSCAD is a programmatic 3D modeling application. It allows you
to turn simple code into 3D models suitable for 3D printing. It is a fork of
@@ -3602,7 +3340,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(define-public freecad
(package
(name "freecad")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
@@ -3611,7 +3349,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0p3pa4w1xj7sgqk9vxdri8l3hbx0a8iz2pwn8gwjqlhc62z4hrg8"))
+ (base32 "1zyz473fzrz9h073wp4k65qq4bkhqsp245nsv6nv186sl78l99xa"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4707,7 +4445,7 @@ G-codes to binary and vice versa.")
(define-public prusa-slicer
(package
(name "prusa-slicer")
- (version "2.9.2")
+ (version "2.9.3")
(source
(origin
(method git-fetch)
@@ -4716,7 +4454,7 @@ G-codes to binary and vice versa.")
(url "https://github.com/prusa3d/PrusaSlicer")
(commit (string-append "version_" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "05zwwhqv3fjg9rx6a4ga55f4ic1136f6lwms0kb4kaq50w9dvxwg"))
+ (sha256 (base32 "15m015fr6yd41dbh26p93xyc320w1j7drr0rkfhsgi1x3np8fsq7"))
(patches (search-patches "prusa-slicer-add-cmake-module.patch"))
(modules '((guix build utils)))
(snippet
@@ -4803,6 +4541,7 @@ G-codes to binary and vice versa.")
mesa
mpfr
nanosvg
+ nlohmann-json
nlopt
opencascade-occt-7.6.1
openssl
@@ -5402,20 +5141,22 @@ form, numpad.
(define-public rizin
(package
(name "rizin")
- (version "0.7.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/rizinorg/rizin/releases/download/v"
- version "/rizin-src-v" version ".tar.xz"))
- (sha256
- (base32
- "008jcfbp836g2sya4aqkbkfir6h1xhq0pq53p8w3r16wwl88j4gp"))))
+ (version "0.8.1") ;keep in sync with cutter
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/rizinorg/rizin/releases/download/v"
+ version "/rizin-src-v" version ".tar.xz"))
+ (sha256
+ (base32
+ "1hjf180q4ba0cs5ys7vwy5xs1k6195kransj8fn3dp6p4mjiwazg"))))
(build-system meson-build-system)
(arguments
(list
#:configure-flags
- #~(list "-Dpackager=guix"
+ #~(list "--wrap-mode=nodownload" ;for rzgdb, rzheap, etc.
+ "-Dpackager=guix"
(string-append "-Dpackager_version=" #$version)
"-Duse_sys_capstone=enabled"
"-Duse_sys_magic=enabled"
@@ -5444,7 +5185,7 @@ form, numpad.
(("subdir\\('integration'\\)") ""))
;;; Skip failing tests.
(substitute* "test/unit/meson.build"
- (("'bin_mach0',\n") "")))))))
+ (("'tokens',\n") "")))))))
(native-inputs (list pkg-config))
(inputs
(list capstone