diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 4863df1a4d..6af74fc338 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -4892,54 +4892,67 @@ able to work nicely with old or slow hardware.") license:expat)))) (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-5)) - (inputs (list qtbase-5 qtserialport-5)) - (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, + (package + (name "candle") + (version "10.11.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Denvi/Candle") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ihf06narzxckbapax1k2xj6c3jhv8nhjxpad7dabzf6s8dazsip")))) + (build-system cmake-build-system) + (native-inputs (list qt5ct qttools-5 qtscript-5)) + (inputs + (list bash-minimal + qtbase-5 + qtmultimedia-5 + qtserialport-5 + qtwayland-5 + qtwebsockets-5)) + (arguments + (list #:tests? #f ; no tests. + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-installation-paths + (lambda _ + (substitute* "src/designerplugins/CMakeLists.txt" + (("DESIGNER_DESTINATION \"designerplugins\"") + "DESIGNER_DESTINATION \"lib/designerplugins\"")) + (substitute* "src/customwidgets/CMakeLists.txt" + (("TARGETS customwidgets RUNTIME DESTINATION .") + "TARGETS customwidgets RUNTIME DESTINATION lib")) + (substitute* "src/candle/CMakeLists.txt" + (("candle PROPERTIES INSTALL_RPATH \"\\$ORIGIN/lib\"") + "candle PROPERTIES INSTALL_RPATH \"$ORIGIN/../lib\"") + (("install(.*/LICENSE DESTINATION .*)$") + (string-append + "install(FILES" + " ${CMAKE_SOURCE_DIR}/LICENSE" + " DESTINATION ${GENERAL_DESTINATION}/share/candle/)")) + (("install(.*/help DESTINATION .*)$") + (string-append + "install(DIRECTORY" + " ${CMAKE_SOURCE_DIR}/help" + " DESTINATION ${GENERAL_DESTINATION}/share/candle/)")) + (("TARGETS candle RUNTIME DESTINATION .") + "TARGETS candle RUNTIME DESTINATION bin")))) + (add-after 'install 'wrap-executable + (lambda _ + (let ((qtbase #$(this-package-input "qtbase")) + (qtwayland #$(this-package-input "qtwayland"))) + (wrap-program (string-append #$output "/bin/candle") + `("QT_PLUGIN_PATH" ":" = + (,(string-append qtwayland "/lib/qt5/plugins"))) + `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = + (,(string-append qtwayland + "/lib/qt5/plugins/platforms")))))))))) + (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: @@ -4951,7 +4964,7 @@ form, numpad. @item Loading, editing, saving and sending of G-code files to CNC-machine. @item Visualizing G-code files. @end itemize") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public rizin (package