Subject: [bug#53833] [PATCH v2] gnu: Add qbe.

From: Liliana Marie Prikler <[email-masked]>
Date: Tue, 24 May 2022 08:50:41 +0200

Hi, this is mostly a reminder for myself to push this soon.

Am Sonntag, dem 08.05.2022 um 21:21 +0100 schrieb (unmatched-
parenthesis:
> * gnu/packages/c.scm (qbe): New variable.
> 
> Signed-off-by: (unmatched-parenthesis <[email-masked]>
Don't add sign-off headers for your own patches, those are for
committers signing of other people's patches :)

> [...]
> +    (arguments
> +     (list #:make-flags
> +           #~(list (string-append "CC=" #$(cc-for-target))
> +                   (string-append "PREFIX=" #$output)
> +                   ;; `GUIXTARGET` is used instead of `TARGET` to
> avoid changing
> +                   ;; the meaning of tools/test.sh (which uses
> `TARGET` too).
> +                   (string-append "GUIXTARGET=" #$(or (%current-
> target-system)
> +                                                      (%current-
> system))))
> +           #:phases
> +           #~(modify-phases %standard-phases
> +               (add-after 'unpack 'allow-cross-compilation
> +                 (lambda _
> +                   (substitute* "Makefile"
> +                     (("`uname -m`") "$(GUIXTARGET)"))))
Instead of going through the variable, why not inline it into the
substitute*?
> +               (add-after 'allow-cross-compilation 'use-gcc-for-
> tests
> +                 (lambda _
> +                   (substitute* "tools/test.sh"
> +                     (("cc=\"cc -no-pie\"")
> +                      (string-append "cc=\"${CC} -no-pie\"")))))
> +               (delete 'configure))))
> +    (supported-systems (list "x86_64-linux" "aarch64-linux"
> "riscv64-linux"))
> +    (synopsis "Simple compiler backend")
> +    (description "QBE is a small compiler backend using an SSA-based
> intermediate
> +language as input.")
> +    (home-page "https://c9x.me/compile/")
> +    (license license:expat))))

Otherwise LGTM.

Cheers