diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 269 |
1 files changed, 9 insertions, 260 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 9358b2fd49..b5568b8563 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> @@ -266,7 +266,7 @@ plans and designs.") suite grouped together under the gEDA name. gEDA/gaf is a collection of tools which currently includes: gschem, a schematic capture program; gnetlist, a netlist generation program; gsymcheck, a syntax checker for schematic symbols; -gattrib, a spreadsheet programm that manipulates the properties of symbols of +gattrib, a spreadsheet programme that manipulates the properties of symbols of a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a tool to forward annotation from your schematic to layout using PCB; some minor utilities.") @@ -1248,7 +1248,7 @@ replacement for the OpenDWG libraries.") (define-public minicom (package (name "minicom") - (version "2.7.1") + (version "2.8") (source (origin (method git-fetch) @@ -1256,13 +1256,16 @@ replacement for the OpenDWG libraries.") (url "https://salsa.debian.org/minicom-team/minicom.git") (commit (string-append "v" version)))) (sha256 - (base32 "0f36wv015zpz1x895qv0z6marlynzyh0d5mfkyd7lfyy2xd1i2w0")) + (base32 "0kfihxbh9qkjk9m1932ajyqx384c2aj3d9yaphh3i9i7y1shxlpx")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-lock-dir=/var/lock") #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")))) (replace 'bootstrap ;; autogen.sh needlessly hard-codes aclocal-1.14. (lambda _ @@ -2016,256 +2019,6 @@ parallel computing platforms. It also supports serial execution.") (license (list license:gpl2+ license:lgpl2.0+)))) ; freehdl's libraries -(define-public qucs - ;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git. - ;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this - ;; comment and update the package. - (let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8") - (revision "0")) - (package - (name "qucs") - (version (git-version "0.0.19" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Qucs/qucs") - (commit commit))) - (sha256 - (base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'patch-bootstrap - (lambda _ - (for-each patch-shebang - '("bootstrap" - "qucs/bootstrap" - "qucs-doc/bootstrap" - "qucs-core/bootstrap")) - #t)) - (add-before 'configure 'patch-configure - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "qucs/configure" - (("\\$QTDIR") (assoc-ref inputs "qt4"))) - #t)) - (add-after 'patch-configure 'patch-scripts - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* '("qucs/qucs/qucsdigi" - "qucs/qucs/qucsdigilib" - "qucs/qucs/qucsveri") - (("\\$BINDIR") - (string-append (assoc-ref outputs "out") "/bin")) - (("freehdl-config") - (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config")) - (("freehdl-v2cc") - (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc")) - (("cp ") - (string-append (assoc-ref inputs "coreutils") "/bin/cp ")) - (("glibtool") - (string-append (assoc-ref inputs "libtool") "/bin/libtool")) - (("sed") - (string-append (assoc-ref inputs "sed") "/bin/sed")) - (("iverilog") - (string-append (assoc-ref inputs "iverilog") "/bin/iverilog")) - (("vvp") - (string-append (assoc-ref inputs "iverilog") "/bin/vvp"))) - #t)) - (add-before 'check 'pre-check - (lambda _ - ;; The test suite requires a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - #t)) - (add-after 'install 'make-wrapper - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; 'qucs' directly invokes gcc, hence this wrapping. - (wrap-program (string-append out "/bin/qucs") - `("CPLUS_INCLUDE_PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/include"))) - `("PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/bin"))) - `("LIBRARY_PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/lib"))) - `("ADMSXMLBINDIR" ":" prefix - (,(string-append (assoc-ref inputs "adms") "/bin"))) - `("ASCOBINDIR" ":" prefix - (,(string-append (assoc-ref inputs "asco") "/bin"))) - `("QUCS_OCTAVE" ":" prefix - (,(string-append (assoc-ref inputs "octave") "/bin/octave"))))) - #t))) - #:parallel-build? #f ; race condition - #:configure-flags '("--disable-doc"))) ; we need octave-epstk - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("bison" ,bison) - ("flex" ,flex) - ("gperf" ,gperf) - ("libtool-native" ,libtool) - ("pkg-config" ,pkg-config) - ("python" ,python-2) ; for tests - ("matplotlib" ,python2-matplotlib) ; for tests - ("numpy" ,python2-numpy) ; for tests - ("xorg-server" ,xorg-server-for-tests))) ; for tests - (inputs - `(("adms" ,adms) - ("asco" ,asco) - ("coreutils" ,coreutils) - ("freehdl" ,freehdl) - ("gcc-toolchain" ,gcc-toolchain) - ("iverilog" ,iverilog) - ("libtool" ,libtool) - ("octave" ,octave-cli) - ("qt4" ,qt-4) - ("sed" ,sed))) - (home-page "http://qucs.sourceforge.net/") - (synopsis "Circuit simulator with graphical user interface") - (description - "Qucs is a circuit simulator with graphical user interface. The software -aims to support all kinds of circuit simulation types---e.g. DC, AC, -S-parameter, transient, noise and harmonic balance analysis. Pure digital -simulations are also supported.") - (license license:gpl2+)))) - -(define-public qucs-s - (package - (name "qucs-s") - (version "0.0.21") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ra3xdh/qucs_s/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-scripts - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("qucs/qucsdigi" - "qucs/qucsdigilib" - "qucs/qucsveri") - (("\\$BINDIR") - (string-append (assoc-ref inputs "qucs") "/bin")) - (("freehdl-config") - (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config")) - (("freehdl-v2cc") - (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc")) - (("cp ") - (string-append (assoc-ref inputs "coreutils") "/bin/cp ")) - (("glibtool") - (string-append (assoc-ref inputs "libtool") "/bin/libtool")) - (("sed") - (string-append (assoc-ref inputs "sed") "/bin/sed")) - (("iverilog") - (string-append (assoc-ref inputs "iverilog") "/bin/iverilog")) - (("vvp") - (string-append (assoc-ref inputs "iverilog") "/bin/vvp"))) - #t)) - (add-after 'patch-scripts 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "qucs/main.cpp" - (((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir " - "\\+ \"qucsator\" \\+ executableSuffix")) - (string-append "}{ QucsSettings.Qucsator = \"" - (assoc-ref inputs "qucs") "/bin/qucsator\"")) - (((string-append "QucsSettings\\.XyceExecutable = " - "\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce")) - (string-append "}{ QucsSettings.XyceExecutable = \"" - (assoc-ref inputs "xyce-serial") "/bin/Xyce")) - (((string-append "else QucsSettings\\.XyceParExecutable = " - "\"mpirun -np %p /usr/local" - "/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce")) - (string-append "QucsSettings.XyceParExecutable = \"" - (assoc-ref inputs "mpi") "/bin/mpirun -np %p " - (assoc-ref inputs "xyce-parallel") "/bin/Xyce")) - (("else QucsSettings\\.NgspiceExecutable = \"ngspice\"") - (string-append "QucsSettings.NgspiceExecutable = " "\"" - (assoc-ref inputs "ngspice") "/bin/ngspice\""))) - (substitute* "qucs/extsimkernels/ngspice.cpp" - (("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib")) - (substitute* "qucs/qucs_actions.cpp" - (("qucstrans") - (string-append (assoc-ref inputs "qucs") "/bin/qucstrans")) - (("qucsattenuator") - (string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator")) - (("qucsrescodes") - (string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes"))) - #t)) - (add-after 'install 'install-scripts - (lambda* (#:key inputs outputs #:allow-other-keys) - (for-each - (lambda (script) - (let ((file (string-append "../qucs_s-" ,version - "/qucs/" script)) - (out (assoc-ref outputs "out"))) - (install-file file (string-append out "/bin")) - (chmod (string-append out "/bin/" script) #o555))) - '("qucsdigi" "qucsdigilib" "qucsveri")) - #t)) - (add-after 'install-scripts 'make-wrapper - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/bin/qucs-s")) - (qucs (assoc-ref inputs "qucs")) - (qucsator (string-append qucs "/bin/qucsator"))) - (wrap-program file - `("CPLUS_INCLUDE_PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/include"))) - `("PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/bin"))) - `("LIBRARY_PATH" ":" prefix - (,(string-append (assoc-ref inputs "gcc-toolchain") - "/lib"))) - `("QUCSATOR" ":" prefix (,qucsator)) - `("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv"))) - `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms") - "/bin"))) - `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco") - "/bin"))) - `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave") - "/bin/octave")))) - (symlink qucsator (string-append out "/bin/qucsator")) - #t)))))) - (native-inputs - `(("libtool-native" ,libtool))) - (inputs - `(("adms" ,adms) - ("asco" ,asco) - ("coreutils" ,coreutils) - ("freehdl" ,freehdl) - ("gcc-toolchain" ,gcc-toolchain) - ("iverilog" ,iverilog) - ("libtool" ,libtool) - ("mpi" ,openmpi) - ("ngspice" ,ngspice) - ("octave" ,octave-cli) - ("qt4" ,qt-4) - ("qucs" ,qucs) - ("sed" ,sed) - ("xyce-serial" ,xyce-serial) - ("xyce-parallel" ,xyce-parallel))) - (home-page "https://ra3xdh.github.io/") - (synopsis "Circuit simulator with graphical user interface") - (description - "Qucs-S is a spin-off of the Qucs cross-platform circuit simulator. -The S letter indicates SPICE. The purpose of the Qucs-S subproject is to use -free SPICE circuit simulation kernels with the Qucs GUI. It provides the -simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.") - (license license:gpl2+))) - (define-public librepcb (package (name "librepcb") @@ -2968,18 +2721,14 @@ GUI.") (define-public poke (package (name "poke") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/poke/poke-" version ".tar.gz")) (sha256 (base32 - "02jvla69xd0nnlg2bil2vxxxglqgylswml6h5hy2nxy0023hp4yy")))) - - ;; XXX: Version 1.0 only supports 64-bit systems. - (supported-systems '("x86_64-linux" "aarch64-linux")) - + "1mkaq19a8d951n9l6d3f8rwq45a7gkr05snb285idd21qxixys6d")))) (build-system gnu-build-system) ;; The GUI, which we elide, requires tcl and tk. (native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5. |