diff options
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 95 |
1 files changed, 80 insertions, 15 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index fe8ab13298..4d23242a33 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -34,6 +34,7 @@ ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1864,12 +1865,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 +1890,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 +1918,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 @@ -3688,3 +3691,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+)))) |