diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 107 |
1 files changed, 88 insertions, 19 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index fe8ab13298..6eefd14d7e 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -34,6 +34,8 @@ ;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com> ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1864,12 +1866,20 @@ an embedded event driven algorithm.") (name "trilinos-serial-xyce") (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 - "1zgrcksrcbmyy79mbdv0j4j4sh0chpigxk8vcrrwgaxyxwxxhrvw")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trilinos/Trilinos") + (commit (string-append "trilinos-release-" + (string-map (lambda (chr) + (case chr + ((#\.) #\-) + (else chr))) + version))))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1smz3wlpfyjn0czmpl8bj4hw33p1zi9nnfygpsx7jl1523nypa1n")))) (build-system cmake-build-system) (arguments `(#:out-of-source? #t @@ -1881,8 +1891,7 @@ an embedded event driven algorithm.") (lambda* (#:key outputs #:allow-other-keys) (delete-file-recursively (string-append (assoc-ref outputs "out") - "/lib/cmake/tribits")) - #t))) + "/lib/cmake/tribits"))))) #:configure-flags (list "-DCMAKE_CXX_FLAGS=-O3 -fPIC" "-DCMAKE_C_FLAGS=-O3 -fPIC" @@ -1910,13 +1919,8 @@ an embedded event driven algorithm.") "-DTPL_ENABLE_UMFPACK=ON" "-DTPL_ENABLE_BLAS=ON" "-DTPL_ENABLE_LAPACK=ON"))) - (native-inputs - `(("fortran" ,gfortran) - ("swig" ,swig))) - (inputs - `(("boost" ,boost) - ("lapack" ,lapack) - ("suitesparse" ,suitesparse))) + (native-inputs (list gfortran swig)) + (inputs (list boost lapack suitesparse)) (home-page "https://trilinos.org") (synopsis "Engineering and scientific problems algorithms") (description @@ -2854,20 +2858,23 @@ data structures and to operate on them.") (license license:gpl3+))) (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 "2.1.0") + (version (git-version "2.4.0" "1" commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/pcb2gcode/pcb2gcode") - (commit (string-append "v" version)) + (commit commit) (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "0nzglcyh6ban27cc73j4l7w7r9k38qivq0jz8iwnci02pfalw4ry")))) + "1r1qmvpn5ffi2xpq2gigwsk8kn79s4s2ywfvicwf8i7rzwhkdf17")))) (build-system gnu-build-system) (inputs (list boost @@ -2884,7 +2891,7 @@ data structures and to operate on them.") 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+)))) (define-public syscall-intercept ;; Upstream provides no tag. Also, last version update is 4 years old. @@ -3688,3 +3695,65 @@ hierarchical and parametric design. It can generate VHDL, Verilog or Spice netlists from the drawn schematic, allowing the simulation of the circuit.") (home-page "https://xschem.sourceforge.io/stefan/index.html") (license license:gpl2+)))) + +(define-public candle + ;; The latest tagged version 1.2b fails on the build stage due to + ;; non-supported g++ flags so we need to use the latest commit from the + ;; 'master' branch in the repository. + (let ((commit "3f763bcde1195e23ba119a5b3c70d7c889881019") + (revision "1")) + (package + (name "candle") + (version (git-version "1.2b" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Denvi/Candle") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08rqhl6a5a8s67a8yl16944zgcsnnb08xfv4klzyqwlvaqgfp783")))) + (build-system gnu-build-system) + (native-inputs (list qttools)) + (inputs (list qtbase-5 qtserialport)) + (arguments + (list #:tests? #f ; no tests. + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-sources + (lambda _ + (substitute* (find-files "." ".*\\.h") + (("const char\\* what\\(\\) const override") + "const char* what() const noexcept override")))) + (add-after 'unpack 'fix-application-settings-path + (lambda _ + (substitute* "src/frmmain.cpp" + (("\ +qApp->applicationDirPath\\(\\) \\+ \"\\/settings\\.ini\"") + "QDir::homePath() + \"/.config/candle.ini\"")))) + (replace 'configure + (lambda _ + (chdir "src") + (invoke "qmake" + (string-append "QMAKE_CC=" + #$(cc-for-target))))) + (replace 'install + (lambda _ + (install-file "Candle" + (string-append #$output "/bin"))))))) + (home-page "https://github.com/Denvi/Candle") + (synopsis "GRBL controller with G-Code visualizer") + (description + "Candle is a GRBL controller application with a visualizer for G-Code, +the @acronym{CNC, computer numerical control} programming language. + +Supported functions include: + +@itemize +@item Controlling GRBL-based cnc-machine via console commands, buttons on +form, numpad. +@item Monitoring CNC-machine state. +@item Loading, editing, saving and sending of G-code files to CNC-machine. +@item Visualizing G-code files. +@end itemize") + (license license:gpl3+)))) |