From 7aac50730febeb95d0f7a4ab1cbb6e7dfb632553 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Thu, 23 Jun 2022 23:02:40 +0300 Subject: [PATCH] gnu: engineering: Add candle. * gnu/packages/engineering.scm (candle): New variable. --- gnu/packages/engineering.scm | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index fe8ab13298..e1297c0f85 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -3688,3 +3688,64 @@ (define-public xschem 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 + "GRBL controller application with G-Code visualizer written in Qt. + +Supported functions: + +@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)))) + -- 2.34.1