Subject: Review

From: Jean Pierre De Jesus DIAZ <[email-masked]>
Date: Tue, 05 Jul 2022 12:16:01 +0000

>+    (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
            ...)))

See, https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html

>+                  (add-after 'fix-sources 'fix-application-settings-path

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

>+                  (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

>+                  (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