[PATCH] gnu: engineering: Add candle.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Jean Pierre De Jesus DIAZ
  • Artyom V. Poptsov
Owner
unassigned
Submitted by
Artyom V. Poptsov
Severity
normal
A
A
Artyom V. Poptsov wrote on 2 Jul 2022 11:47
(address . guix-patches@gnu.org)
87o7y74zic.fsf@gmail.com
Hello,

this patch adds Candle[1] CNC controller.
From a3c57bbd8cb9f87a92e063d02e69aa2f29f6a895 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sat, 2 Jul 2022 12:37:13 +0300
Subject: [PATCH] gnu: engineering: Add candle.

* gnu/packages/engineering.scm (candle): New variable.
---
gnu/packages/engineering.scm | 37 ++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 661078594e..3bae7d100e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3702,19 +3702,32 @@ (define-public candle
(sha256
(base32
"1rinblzqg8xbi4zcyx6v3k7g2kdrgmwm7xwb6fryb8s0bd21jppv"))))
- (build-system qt-build-system)
- ;; (native-inputs
- ;; ())
- ;; (inputs)
+ (build-system gnu-build-system)
+ (native-inputs (list qttools))
+ (inputs (list qtbase-5 qtserialport))
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (chdir "src")
- (invoke "qmake"
- (string-append "PREFIX=" (assoc-ref outputs "out")))
- #t)))))
+ `(#: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"))))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (chdir "src")
+ (invoke "qmake"))))
+ (add-after 'configure 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("-pipe -Z7") "-pipe")
+ (("LFLAGS.*=.*DEBUG .*OPT:REF -Wl,-O1")
+ "LFLAGS = -Wl,-O1"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "Candle"
+ (string-append out "/bin"))))))))
(home-page "https://github.com/Denvi/Candle")
(synopsis "GRBL controller with G-Code visualizer")
(description
--
2.34.1
Thanks,

- Artyom

References:

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQFNBAEBCgA3FiEE0MLqwTMQgi2Y3rV86cWi2QiYoC8FAmLAFE8ZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRDpxaLZCJigL8FVB/4wpzOIFKvAheaplj8yu5rl
gIbIKBNzX8lbmB4ipIf6tctQiwAhnSeQNip5FvVwz1vLC0pMKEQAHTHABfy1Ljjj
q2/KaIYOnogOqdkw1eyirPrylgNWcvbvXpdmB5I1UmsuCvQ3ut27Se115/q/Ljhw
3OCdApbr4X5cGL/2xU3rDLo8F1jQDWgf9WmuDjsairllniN4Ap4SM1ozw/72KZ0A
5qdYVgSWpWCQXe2hHN/nKBQfd1oVtzILJBsLGVqabL40M4vRP75ywrqL6Ar015rP
pSI4egqbTjY8VFAviQNmGbRJfEhjDov2YsuCt44tHC3CupqggwzmbJx1ay2Vrgb3
=bSLV
-----END PGP SIGNATURE-----

A
A
Artyom V. Poptsov wrote on 4 Jul 2022 05:36
(address . guix-patches@gnu.org)
87fsjhft1m.fsf@gmail.com
Hello,

I found out that the patch I've sent was broken in two ways: firstly, it
contains only part of my changes; secondly, Candle fails to store its
settings as it tries to store it in the same directory where the binary
stored.

Here's the updated patch.
From e4530e457e465243dae5b58eb8b7fa2e3951757d Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
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 | 62 ++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (72 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index fe8ab13298..b4f0b5e020 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3688,3 +3688,65 @@ (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
+ (package
+ (name "candle")
+ (version "1.2b")
+ (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
+ "1rinblzqg8xbi4zcyx6v3k7g2kdrgmwm7xwb6fryb8s0bd21jppv"))))
+ (build-system gnu-build-system)
+ (native-inputs (list qttools))
+ (inputs (list qtbase-5 qtserialport))
+ (arguments
+ `(#: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 'fix-sources 'fix-application-settings-path
+ (lambda _
+ (substitute* "src/frmmain.cpp"
+ (("qApp->applicationDirPath\\(\\) \\+ \"\\/settings\\.ini\"")
+ "QDir::homePath() + \"/.config/candle.ini\""))))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (chdir "src")
+ (invoke "qmake"))))
+ (add-after 'configure 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("-pipe -Z7") "-pipe")
+ (("LFLAGS.*=.*DEBUG .*OPT:REF -Wl,-O1")
+ "LFLAGS = -Wl,-O1"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "Candle"
+ (string-append out "/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
Thanks

- Artyom

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQFNBAEBCgA3FiEE0MLqwTMQgi2Y3rV86cWi2QiYoC8FAmLCYDUZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRDpxaLZCJigL7qQB/9SRi++E7y5U+oRCqrMhnW3
WaQtBTexo2DGMoXmJ63oFFJjFxiFAel06P/bKW0JF1zN4E3aV6+iaVaZBwP9W03A
WNaCNPfi47e8js8ZgfMB/P+9UZlmSZ+fXJfQn4PCl8Hm3Y4HURGARwIrEYWS2bEG
S+s6bffuLSoC5JCgMzDK3YnCt++12hCyeoihC5XYy8IOgZnqkFKxcBVojrSxd3K+
2fM2y3MBx7aEF9wwYzIE15ZyxD7sxup+eukMo4qpFzmphRQkiOXXploeEGf43HW6
cCDiWndWvnJvuDnH68cVSs1ClaF0Q6RksqvTXwDRLQXxAhq1f2ySu3LraJ1Dp4GY
=DNQD
-----END PGP SIGNATURE-----

J
J
Jean Pierre De Jesus DIAZ wrote on 5 Jul 2022 14:16
Review
(name . 56354@debbugs.gnu.org)(address . 56354@debbugs.gnu.org)
AsFTXnMhB9hzYBjMe1gOU8zfsbUpPZq_LElsdHYSKoY9cQCqjIbGAYUv-SsCI8TRmP3zFW0j3qStAWlTJwFd9yMEwhzYD2Q5m0HKESL7lb8=@jeandudey.tech
Toggle quote (4 lines)
>+ (arguments
>+ `(#:tests? #f ; no tests.
>+ #:phases (modify-phases %standard-phases

Can be changed to use G-Expressions:

(arguments
(list #:tests? #f ;; no tests.
#:phases
#~(modify-phases %standard-phases
...)))


Toggle quote (2 lines)
>+ (add-after 'fix-sources 'fix-application-settings-path

Doesn't depend on 'fix-sources, so it's fine to add after 'unpack.

Toggle quote (6 lines)
>+ (replace 'configure
>+ (lambda* (#:key outputs #:allow-other-keys)
>+ (let ((out (assoc-ref outputs "out")))
>+ (chdir "src")
>+ (invoke "qmake"))))

It may also be a good idea to set `QMAKE_CC' variable for cross-compilation,
like:

`(invoke "qmake" (string-append "QMAKE_CC=" #$(cc-for-target)))'

And also test cross-compilation:

./pre-inst-env guix build candle \
--keep-failed \
--target=aarch64-linux-gnu

Toggle quote (7 lines)
>+ (add-after 'configure 'fix-makefile
>+ (lambda _
>+ (substitute* "Makefile"
>+ (("-pipe -Z7") "-pipe")
>+ (("LFLAGS.*=.*DEBUG .*OPT:REF -Wl,-O1")
>+ "LFLAGS = -Wl,-O1"))))

Could this instead be replaced on the `candle.pro' file?

Jean-Pierre De Jesus DIAZ
A
A
Artyom V. Poptsov wrote on 9 Jul 2022 15:43
Re: [PATCH] gnu: engineering: Add candle.
(address . guix-patches@gnu.org)
877d4mqu3n.fsf@gmail.com
Hello Jean Pierre De Jesus DIAZ,

I almost overlooked your message from debbugs as it wasn't delivered to
my mailbox. Thanks for the patch review!

Toggle quote (2 lines)
> Can be changed to use G-Expressions:

Done.

Toggle quote (3 lines)
> >+ (add-after 'fix-sources 'fix-application-settings-path
> Doesn't depend on 'fix-sources, so it's fine to add after 'unpack.

Done.

Toggle quote (5 lines)
> It may also be a good idea to set `QMAKE_CC' variable for cross-compilation,
> like:
>
> `(invoke "qmake" (string-append "QMAKE_CC=" #$(cc-for-target)))'

Done.

But I wasn't able to run cross-compilation with the command you
provided:

Toggle snippet (4 lines)
$ ./pre-inst-env guix build --keep-failed --target=aarch64-linux-gnu candle
guix build: error: gnu/packages/freedesktop.scm:1921:2: perl-file-mimeinfo@0.29: build system `perl' does not support cross builds

It seems to me from the message that the issue is not in the candle
package itself.

Toggle quote (9 lines)
> >+ (add-after 'configure 'fix-makefile
> >+ (lambda _
> >+ (substitute* "Makefile"
> >+ (("-pipe -Z7") "-pipe")
> >+ (("LFLAGS.*=.*DEBUG .*OPT:REF -Wl,-O1")
> >+ "LFLAGS = -Wl,-O1"))))
>
> Could this instead be replaced on the `candle.pro' file?

I fixed it by using the latest commit from the 'master' branch instead
of 1.2b tag.

Please find the updated patch attached.
From 3830792f316287de22fa62b2adff6aeb2b94a160 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
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 | 63 ++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (73 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index fe8ab13298..a3445343fc 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3688,3 +3688,66 @@ (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* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (chdir "src")
+ (invoke "qmake"
+ (string-append "QMAKE_CC="
+ #$(cc-for-target))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "Candle"
+ (string-append out "/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
Thanks,

- Artyom

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQFNBAEBCgA3FiEE0MLqwTMQgi2Y3rV86cWi2QiYoC8FAmLJhhwZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRDpxaLZCJigL63UB/9678kZsV95pulYrSF9tAXK
gS9Cn0TxEXhsA0gT4ykvwbwhXRY+iq8b4wY5l5MS7POfmsW3J2e6dUIxlGf7SAfq
os0GxnbUs+935OUeT7aw69GIcUSIj6uQIBMZ9sX1fBxt3UMN9pspU9R+kTyXsWld
w9RDyFoKyXqCN3BDXbM6hblrD+/yg9Zx/LZcAC6Tz+0Uvjxayq19JEZ87wsVULLD
fFofAP4gvQH4C7aDQ3GiaVZamNQ2IMmVWgiUczW5WhYn1VLF46bOrbU1223VfXAI
/KAPfxGc52qpoHGcQwkkeqthrs1r+dPRcx4p88ulT9gcU/GNzJlp6XNUPHfPD8cs
=dfNJ
-----END PGP SIGNATURE-----

J
J
Jean Pierre De Jesus DIAZ wrote on 11 Jul 2022 13:55
[PATCH] gnu: engineering: Add candle.
M7JKaZZ3AMO61QYlYKULMbrhV6ckNohCUBt_vyaGBKaMsQv3uZqHxtrn9ZJPOErEC7WobqLtq436qf4LPIWGQpVhIT9hz3ER60XjEagErQk=@jeandudey.tech
Hello Artyom,

Toggle quote (3 lines)
>It seems to me from the message that the issue is not in the candle
>package itself.

Probably one of the dependencies can't (currently) be cross-compiled,
anyway, thanks for setting the QMAKE_CC variable in the qmake invocation,
once perl build system gains cross-compilation (if possible) then it
would be easier to cross-compile later without modifications to the
package.

Toggle quote (7 lines)
>+ (lambda* (#:key outputs #:allow-other-keys)
>+ (let ((out (assoc-ref outputs "out")))
>+ (chdir "src")
>+ (invoke "qmake"
>+ (string-append "QMAKE_CC="
>+ #$(cc-for-target))))))

The `out' variable is not used, so the let can be safely removed and the lambda
simplified, also instead of `chdir', `with-directory-excursion' could be used,
but's a matter of preference (don't know if one or other style is preferred
inside GNU Guix).

For example:

(lambda _
(with-directory-excursion "src"
(invoke "qmake"
(string-append "QMAKE_CC="
#$(cc-for-target)))))

Toggle quote (6 lines)
>+ (replace 'install
>+ (lambda* (#:key outputs #:allow-other-keys)
>+ (let ((out (assoc-ref outputs "out")))
>+ (install-file "Candle"
>+ (string-append out "/bin"))))))))

The `out' binding can be also replaced by `#$output', e.g.:


(lambda* _
(install-file "Candle"
(string-append #$output "/bin")))

Other than that the package definition looks good to me, and did a quick pass
over the Candle source code to check that it doesn't contain any malware.

Only a bundled font is present (src/fonts/Ubuntu-Regular.tff), but that one is
not provided by GNU Guix (don't know the specific reasons, but got added then
removed) so no need to replace it with provided ones.

Jean-Pierre De Jesus DIAZ
A
A
Artyom V. Poptsov wrote on 11 Jul 2022 20:39
(name . Jean Pierre De Jesus DIAZ)(address . me@jeandudey.tech)(name . 56354@debbugs.gnu.org)(address . 56354@debbugs.gnu.org)
87a69fsddk.fsf@gmail.com
Hello Jean Pierre De Jesus DIAZ.

Toggle quote (5 lines)
> The `out' variable is not used, so the let can be safely removed and the lambda
> simplified, also instead of `chdir', `with-directory-excursion' could be used,
> but's a matter of preference (don't know if one or other style is preferred
> inside GNU Guix).

Done.

Toggle quote (2 lines)
> The `out' binding can be also replaced by `#$output', e.g.:

Done.

I also tried to use 'with-directory-excursion' instead of 'chdir' but
Candle build fails with it, so I kept 'chdir' version.

Toggle quote (7 lines)
> Other than that the package definition looks good to me, and did a quick pass
> over the Candle source code to check that it doesn't contain any malware.

> Only a bundled font is present (src/fonts/Ubuntu-Regular.tff), but that one is
> not provided by GNU Guix (don't know the specific reasons, but got added then
> removed) so no need to replace it with provided ones.

Thanks again for the patch review!

Here's my updated patch.
From 7aac50730febeb95d0f7a4ab1cbb6e7dfb632553 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
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(+)

Toggle diff (71 lines)
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
- Artyom

--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
-----BEGIN PGP SIGNATURE-----

iQFNBAEBCgA3FiEE0MLqwTMQgi2Y3rV86cWi2QiYoC8FAmLMbkcZHHBvcHRzb3Yu
YXJ0eW9tQGdtYWlsLmNvbQAKCRDpxaLZCJigL8IfB/9pbuo2MMbtGezEpfIkQo5Y
HN4JWV9XUh7wEfrOz4pcirOPgf6ebp6B6RyRp1v9IKyCQktbjbPhDUTixcAwY32j
XE1vbWnDgA3DUEd/4/PsPPEFlieVtHoFNhY24cRseGmU2/herhK3dwmoJushtH09
WxQ8/OCfypVj3nET+SH+tBCjVYACVp25/QUIRtrWx07euN7mZznhdX+UV69LtU4W
RRqstRvNomFj4pZB00cnmtLHp8b94++6fVRHY/dNak2NlljGStwJdkTCSd6BIanq
B1R+ytx600bNz7jpJtng0hOWSgntxrF52um3qxp7FSRMHqkv5Mfy5hmNb/QIOJnx
=mxYc
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 12 Jul 2022 23:59
Re: bug#56354: [PATCH] gnu: engineering: Add candle.
(name . Artyom V. Poptsov)(address . poptsov.artyom@gmail.com)
87zgheat61.fsf_-_@gnu.org
Hi,

"Artyom V. Poptsov" <poptsov.artyom@gmail.com> skribis:

Toggle quote (7 lines)
> From 7aac50730febeb95d0f7a4ab1cbb6e7dfb632553 Mon Sep 17 00:00:00 2001
> From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
> Date: Thu, 23 Jun 2022 23:02:40 +0300
> Subject: [PATCH] gnu: engineering: Add candle.
>
> * gnu/packages/engineering.scm (candle): New variable.

Applied with the changes below. Note that the license is GPLv3+ because
nothing says it’s “version 3 only”. I tweaked the description as per

Thank you, and thanks Jean-Pierre for reviewing!

Ludo’.
Toggle diff (34 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e1297c0f85..dd594af7f8 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3721,7 +3721,8 @@ (define-public candle
(add-after 'unpack 'fix-application-settings-path
(lambda _
(substitute* "src/frmmain.cpp"
- (("qApp->applicationDirPath\\(\\) \\+ \"\\/settings\\.ini\"")
+ (("\
+qApp->applicationDirPath\\(\\) \\+ \"\\/settings\\.ini\"")
"QDir::homePath() + \"/.config/candle.ini\""))))
(replace 'configure
(lambda _
@@ -3736,9 +3737,10 @@ (define-public candle
(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.
+ "Candle is a GRBL controller application with a visualizer for G-Code,
+the @acronym{CNC, computer numerical control} programming language.
-Supported functions:
+Supported functions include:
@itemize
@item Controlling GRBL-based cnc-machine via console commands, buttons on
@@ -3747,5 +3749,4 @@ (define-public candle
@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+))))
Closed
?