diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 499 |
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 |