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.scm268
1 files changed, 148 insertions, 120 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 6c3846ff76..8578789872 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
@@ -1175,14 +1175,14 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
(package
(name "libngspice")
- (version "26")
+ (version "28")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
version "/ngspice-" version ".tar.gz"))
(sha256
(base32
- "02019ndcl057nq9z41nxycqba7wxlb081ibvfj9jv010nz431qji"))
+ "0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l"))
(modules '((guix build utils)))
;; We remove the non-free cider and build without it.
(snippet
@@ -1206,7 +1206,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(add-after 'unpack 'patch-timestamps
(lambda _
(substitute* "configure"
- (("`date`") "Do 1. Jan 00:00:00 UTC 1970"))
+ (("`date`") "Thu Jan 1 00:00:01 UTC 1970"))
#t))
(add-after 'unpack 'delete-program-manuals
(lambda _
@@ -1279,17 +1279,27 @@ an embedded event driven algorithm.")
;; TODO: Remove when we have modular Trilinos packages?
(package
(name "trilinos-serial-xyce")
- (version "12.6.3")
+ (version "12.12.1")
(source
(origin (method url-fetch)
(uri (string-append "https://trilinos.org/oldsite/download/files/trilinos-"
version "-Source.tar.gz"))
(sha256
(base32
- "07jd1qpsbf31cmbyyngr4l67xzwyan24dyx5wlcahgbw7x6my3wn"))))
+ "1zgrcksrcbmyy79mbdv0j4j4sh0chpigxk8vcrrwgaxyxwxxhrvw"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
+ #:phases
+ (modify-phases %standard-phases
+ ;; Delete unneeded tribits(build system) directory which makes validate-runpath
+ ;; phase to fail.
+ (add-before 'validate-runpath 'delete-tribits
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append (assoc-ref outputs "out")
+ "/lib/cmake/tribits"))
+ #t)))
#:configure-flags
(list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
"-DCMAKE_C_FLAGS=-O3 -fPIC"
@@ -1322,7 +1332,7 @@ an embedded event driven algorithm.")
("swig" ,swig)))
(inputs
`(("boost" ,boost)
- ("lapack" ,lapack-3.5)
+ ("lapack" ,lapack)
("suitesparse" ,suitesparse)))
(home-page "https://trilinos.org")
(synopsis "Engineering and scientific problems algorithms")
@@ -1337,14 +1347,14 @@ unique design feature of Trilinos is its focus on packages.")
(define-public xyce-serial
(package
(name "xyce-serial")
- (version "6.7")
+ (version "6.8")
(source
(origin (method url-fetch)
(uri (string-append "https://archive.org/download/Xyce-"
version "/Xyce-" version ".tar.gz"))
(sha256
(base32
- "02k952mnvrnc5kv7r65fdrn7khwq1lbyhwyvd7jznafzdpsvgm4x"))))
+ "09flp1xywbb2laayd9rg8vd0fjsh115y6k1p71jacy0nrbdvvlcg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -1360,7 +1370,7 @@ unique design feature of Trilinos is its focus on packages.")
(inputs
`(("fftw" ,fftw)
("suitesparse" ,suitesparse)
- ("lapack" ,lapack-3.5)
+ ("lapack" ,lapack)
("trilinos" ,trilinos-serial-xyce)))
(home-page "https://xyce.sandia.gov/")
(synopsis "High-performance analog circuit simulator")
@@ -1395,8 +1405,6 @@ parallel computing platforms. It also supports serial execution.")
"CC=mpicc"
"F77=mpif77"
"--enable-mpi"
- "--enable-isorropia=no"
- "--enable-zoltan=no"
(string-append
"ARCHDIR="
(assoc-ref %build-inputs "trilinos")))))))
@@ -1503,116 +1511,134 @@ parallel computing platforms. It also supports serial execution.")
license:lgpl2.0+)))) ; freehdl's libraries
(define-public qucs
- (package
- (name "qucs")
- (version "0.0.19")
- (source (origin
- (method url-fetch)
- (uri
- (string-append
- "https://sourceforge.net/projects/qucs/files/qucs/" version
- "/qucs-" version ".tar.gz"))
- (sha256
- (base32
- "0giv9gfyfdizvjhq56x2pdncrlyv3k15lrsh6pk37i94vr7l7ij5"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (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
- `(("gperf" ,gperf)
- ("libtool-native" ,libtool)
- ("python" ,python-2) ; for tests
- ("matplotlib" ,python2-matplotlib) ; for tests
- ("numpy" ,python2-numpy) ; for tests
- ("xorg-server" ,xorg-server))) ; for tests
- (inputs
- `(("adms" ,adms)
- ("asco" ,asco)
- ("coreutils" ,coreutils)
- ("freehdl" ,freehdl)
- ("gcc-toolchain" ,gcc-toolchain)
- ("iverilog" ,iverilog)
- ("libtool" ,libtool)
- ("octave" ,octave)
- ("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
+ ;; 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
+ (inputs
+ `(("adms" ,adms)
+ ("asco" ,asco)
+ ("coreutils" ,coreutils)
+ ("freehdl" ,freehdl)
+ ("gcc-toolchain" ,gcc-toolchain)
+ ("iverilog" ,iverilog)
+ ("libtool" ,libtool)
+ ("octave" ,octave)
+ ("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+)))
+ (license license:gpl2+))))
(define-public qucs-s
(package
(name "qucs-s")
- (version "0.0.19S")
+ (version "0.0.20")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/ra3xdh/qucs/releases/download/"
- version "/qucs-" version ".tar.gz"))
+ (uri (string-append "https://github.com/ra3xdh/qucs_s/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1bhahvdqmayaw0306fxz1ghmjhd4fq05yk3rk7zi0z703w5imgjv"))))
+ "01dizf4rjciqc8x7bmv3kbhdlz90bm6n9m9fz7dbzqcwvszcs1hx"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1647,19 +1673,21 @@ simulations are also supported.")
"\\+ \"qucsator\" \\+ executableSuffix"))
(string-append "}{ QucsSettings.Qucsator = \""
(assoc-ref inputs "qucs") "/bin/qucsator\""))
- (((string-append "else QucsSettings\\.XyceExecutable = "
- "\"/usr/local/Xyce-Release-6.2.0-OPENSOURCE/bin/runxyce"))
- (string-append "QucsSettings.XyceExecutable = \""
+ (((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 = \"/usr/local"
- "/Xyce-Release-6.2.0-OPENMPI-OPENSOURCE/bin/xmpirun"))
+ (((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"))
- (("%p")
- (string-append "%p "(assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
+ (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"))
@@ -1672,7 +1700,7 @@ simulations are also supported.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
(lambda (script)
- (let ((file (string-append "../qucs-" ,version
+ (let ((file (string-append "../qucs_s-" ,version
"/qucs/" script))
(out (assoc-ref outputs "out")))
(install-file file (string-append out "/bin"))