[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

Debbugs page

Artyom V. Poptsov wrote 3 years ago
(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-----

Artyom V. Poptsov wrote 3 years ago
(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-----

Jean Pierre De Jesus DIAZ wrote 3 years ago
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
Artyom V. Poptsov wrote 3 years ago
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-----

Jean Pierre De Jesus DIAZ wrote 3 years ago
[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
Artyom V. Poptsov wrote 3 years ago
(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-----

Ludovic Courtès wrote 3 years ago
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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 56354@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 56354
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help