summary refs log tree commit diff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm195
1 files changed, 129 insertions, 66 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index ca1beea585..9952c0443b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -35,7 +35,8 @@
 ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -132,6 +133,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
@@ -298,7 +300,7 @@ utilities.")
   (package
     (inherit geda-gaf)
     (name "lepton-eda")
-    (version "1.9.14-20210407")
+    (version "1.9.18-20220529")
     (home-page "https://github.com/lepton-eda/lepton-eda")
     (source (origin
               (method git-fetch)
@@ -307,7 +309,7 @@ utilities.")
                     (commit version)))
               (sha256
                (base32
-                "0kyq0g6271vlwraw98637fn8bq2l6q4rll6748nn8rwsmfz71d0m"))
+                "06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
               (file-name (git-file-name name version))))
     (arguments
      (list
@@ -328,28 +330,40 @@ utilities.")
                 "CFLAGS=-fcommon"))
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-tests
+            (lambda _
+              ;; For logs and auto-compilation
+              (setenv "HOME" "/tmp")
+
+              ;; Ensure that readline is found by lepton-shell
+              (substitute* "script.in"
+                (("\\(eval-when \\(expand load eval\\)" m)
+                 (string-append "
+(add-to-load-path \"" #$(this-package-input "guile-readline")
+"/share/guile/site/3.0\")
+(set! %load-compiled-path (cons \""
+#$(this-package-input "guile-readline")
+"/lib/guile/3.0/site-ccache/"
+"\" %load-compiled-path))
+" m)))))
           (add-before 'build 'fix-dynamic-link
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              (substitute* "libleptongui/scheme/schematic/ffi.scm.in"
-                (("@LIBLEPTONGUI@")
-                 (string-append #$output "/lib/libleptongui.so")))
-              (substitute* '("libleptongui/scheme/schematic/ffi/gtk.scm.in"
-                             "utils/attrib/lepton-attrib.scm")
-                (("@LIBGTK@")
-                 (search-input-file inputs "/lib/libgtk-3.so")))
-              (substitute* '("libleptongui/scheme/schematic/ffi/gobject.scm.in")
-                (("@LIBGOBJECT@")
-                 (search-input-file inputs "/lib/libgobject-2.0.so")))
-              (substitute* "liblepton/scheme/lepton/ffi.scm.in"
-                (("@LIBLEPTON@")
-                 (string-append #$output "/lib/liblepton.so")))
-              (substitute* "utils/attrib/lepton-attrib.scm"
-                (("@LIBLEPTONATTRIB@")
-                 (string-append (assoc-ref outputs "out")
-                                "/lib/libleptonattrib.so")))
-              (substitute* "liblepton/scheme/lepton/log.scm.in"
-                (("@LIBGLIB@")
-                 (search-input-file inputs "/lib/libglib-2.0.so")))
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "liblepton/scheme/lepton/ffi/lib.scm"
+                (("\"liblepton\"")
+                 (string-append "\"" #$output "/lib/liblepton.so" "\""))
+                (("\"libleptonattrib\"")
+                 (string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
+                (("\"libleptongui\"")
+                 (string-append "\"" #$output "/lib/libleptongui.so" "\""))
+                (("\"libglib-2.0\"")
+                 (string-append
+                  "\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
+                (("\"libgobject-2.0\"")
+                 (string-append
+                  "\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
+                (("\"libgtk-3\"")
+                 (string-append
+                  "\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
 
               ;; For finding libraries when running tests before installation.
               (setenv "LIBLEPTONGUI"
@@ -408,6 +422,7 @@ utilities.")
            gtk+
            gtksheet
            guile-3.0
+           guile-readline
            shared-mime-info
            m4
            pcb))
@@ -763,14 +778,14 @@ ready for production.")
 (define-public qelectrotech
   (package
     (name "qelectrotech")
-    (version "0.8.0")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://git.tuxfamily.org/qet/qet.git/"
                            "snapshot/qet-" version ".tar.gz"))
        (sha256
-        (base32 "0w70fqwhqqzga1kfp34v8z1xf9988nvvi3d5gwl2sg429p9mpsk2"))))
+        (base32 "1qkgagx2bk2jfzs3d91kki01y5bs5p85f4c8xjxn45hmw4rl512b"))))
     (build-system qt-build-system)
     (arguments
      ;; XXX: tests are built for the CMake build option but it seems to be
@@ -1613,6 +1628,49 @@ the API of spice simulators.  Based on transformations specified in XML
 language, ADMS transforms Verilog-AMS code into other target languages.")
     (license license:gpl3)))
 
+(define-public audmes
+  (package
+    (name "audmes")
+    (version "20220420")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/audmes/audmes%20sources/"
+                           "audmes-source-" version ".zip"))
+       (sha256
+        (base32 "0yxjq2p1ca2wy2idwrlxr3b4vbp0d9268jll90y7l55fbid8vkp2"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:tests? #false                   ;there are none
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'prepare-csv.h
+           (lambda* (#:key inputs #:allow-other-keys)
+             (mkdir "libfccp")
+             (install-file (search-input-file inputs "csv.h") "libfccp"))))))
+    (inputs
+     (list alsa-lib pulseaudio wxwidgets))
+    (native-inputs
+     (list unzip
+           (let ((commit "4ade42d5f8c454c6c57b3dce9c51c6dd02182a66"))
+             (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/ben-strasser/fast-cpp-csv-parser")
+                     (commit commit)))
+               (file-name (git-file-name "csv.h" (git-version "0" "0" commit)))
+               (sha256
+                (base32
+                 "1y7ads97gkrjg1jc532n8gmjry0qhqxginw1gq7b4lk9s0pyl540"))))))
+    (home-page "https://sourceforge.net/projects/audmes/")
+    (synopsis "Oscilloscope and spectrum analyzer using sound card")
+    (description
+     "The audio measurement system is a system for audio measurement through
+sound card.  It contains: generator, oscilloscope, audio spectrum
+analyzer (FFT) and frequency sweep plot.")
+    (license license:gpl2+)))
+
 (define-public capstone
   (package
     (name "capstone")
@@ -1810,7 +1868,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
   ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
   (package
     (name "libngspice")
-    (version "38")
+    (version "40")
     (source
      (origin
        (method url-fetch)
@@ -1821,7 +1879,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
                             "old-releases/" version
                             "/ngspice-" version ".tar.gz")))
        (sha256
-        (base32 "0mkw66d2isyyxssziwramd08amd7l1qm6dfg86r5s5kvqkv24gic"))))
+        (base32 "03c9irc44msdpqhbn2fhvb4g0sry8a2qgxl4mbbf557mq1xwl0z3"))))
     (build-system gnu-build-system)
     (arguments
      `(;; No tests for libngspice exist.
@@ -2418,7 +2476,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
 (define-public python-scikit-rf
   (package
     (name "python-scikit-rf")
-    (version "0.24.1")
+    (version "0.26.0")
     (source (origin
               (method git-fetch) ;PyPI misses some files required for tests
               (uri (git-reference
@@ -2426,7 +2484,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "1shp8q8324dkwf448mv9zzi7krx882p122ma4fk015qz91sg4wff"))
+                "1v7dag6sm96b18y4p46cjjyqnq9r2r7qmiy0xvdwy3js4zf4iwcv"))
               (file-name (git-file-name name version))))
     (build-system pyproject-build-system)
     (propagated-inputs (list python-matplotlib
@@ -3033,40 +3091,37 @@ data structures and to operate on them.")
 @code{Poke Ras mode} and @code{Poke Map mode}.")))
 
 (define-public pcb2gcode
-  ;; Take some additional commits after v2.4.0 to fix build against
-  ;; geos 3.10.1.
-  (let ((commit "ae41f9fe41e57ee5d0cced6c3b3c8aea9c3f5392"))
-    (package
-     (name "pcb2gcode")
-     (version (git-version "2.4.0" "1" commit))
-     (source
-      (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/pcb2gcode/pcb2gcode")
-             (commit commit)
-             (recursive? #t)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1r1qmvpn5ffi2xpq2gigwsk8kn79s4s2ywfvicwf8i7rzwhkdf17"))))
-     (build-system gnu-build-system)
-     (inputs
-      (list boost
-            geos
-            gerbv
-            glibmm
-            gtkmm-2
-            librsvg))
-     (native-inputs
-      (list autoconf automake libtool pkg-config))
-     (home-page "https://github.com/pcb2gcode/pcb2gcode")
-     (synopsis "Generate G-code for milling PCBs")
-     (description "pcb2gcode is a command-line program for isolation routing
+  (package
+   (name "pcb2gcode")
+   (version "2.5.0")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/pcb2gcode/pcb2gcode")
+           (commit (string-append "v" version))
+           (recursive? #t)))
+     (file-name (git-file-name name version))
+     (sha256
+      (base32
+       "01s41znkcq9x1rinsdqrrdj8p35isckrcxs14ajsi7wr39n1m5kk"))))
+   (build-system gnu-build-system)
+   (inputs
+    (list boost
+          geos
+          gerbv
+          glibmm
+          gtkmm-2
+          librsvg))
+   (native-inputs
+    (list autoconf automake libtool pkg-config))
+   (home-page "https://github.com/pcb2gcode/pcb2gcode")
+   (synopsis "Generate G-code for milling PCBs")
+   (description "pcb2gcode is a command-line program for isolation routing
 and drilling of PCBs.  It takes Gerber files as input and outputs G-code files
 for the milling of PCBs.  It also includes an autoleveller for the automatic
 dynamic calibration of the milling depth.")
-     (license license:gpl3+))))
+   (license license:gpl3+)))
 
 ;; libdxfrw has no readme, no version release, no tags.  Initial commit says
 ;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
@@ -4044,7 +4099,7 @@ form, numpad.
 (define-public rizin
   (package
     (name "rizin")
-    (version "0.4.1")
+    (version "0.5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -4052,7 +4107,7 @@ form, numpad.
                     version "/rizin-src-v" version ".tar.xz"))
               (sha256
                (base32
-                "1f5zzlnr2na4hkvcwn4n9cjlk6595945vwrw89pa683qk5mrb7b6"))))
+                "18zca3iwdif200wiivm065fs0a5g520q6380205cijca7ky81avi"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -4067,7 +4122,12 @@ form, numpad.
               "-Duse_sys_xxhash=enabled"
               "-Duse_sys_openssl=enabled"
               "-Duse_sys_tree_sitter=enabled"
-              "-Duse_sys_libuv=enabled"
+              "-Duse_sys_lzma=enabled"
+              "-Duse_sys_libmspack=enabled"
+              "-Duse_zlib=true"
+              "-Duse_lzma=true"
+              "-Dinstall_sigdb=false"
+              "-Duse_swift_demangler=true"
               "-Duse_gpl=true")
       #:phases
       #~(modify-phases %standard-phases
@@ -4078,10 +4138,13 @@ form, numpad.
               ;; And 2 of them are failing, reported upstream:
               ;; <https://github.com/rizinorg/rizin/issues/2905>.
               (substitute* "test/meson.build"
-                (("subdir\\('integration'\\)") "")))))))
+                (("subdir\\('integration'\\)") ""))
+              ;;; Skip analysis_var test, which is failing.
+              (substitute* "test/unit/meson.build"
+                (("'analysis_var',\n") "")))))))
     (native-inputs (list pkg-config))
     (inputs
-     (list capstone file libuv libzip lz4 openssl tree-sitter xxhash zlib))
+     (list capstone file libuv libzip lz4 openssl tree-sitter xxhash zlib libmspack))
     (home-page "https://rizin.re")
     (synopsis "Disasm, debug, analyze and manipulate binary files")
     (description