Subject: Re: [bug#30411] [PATCH] gnu: ldc: Update to 1.7.0.

From: Danny Milosavljevic <[email-masked]>
Date: Sun, 18 Feb 2018 13:34:49 +0100

Hi Pjotr,

On Sun, 18 Feb 2018 06:09:44 +0000
[email-masked] wrote:

>                 ;; FIXME: this test cannot be linked.
>                 (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d")

Is there an upstream bugreport?

I wonder who added this line... yep, it was me.  Sigh :)

> +               ;; the following two tests fail on i686
> +               (for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d"))))

Is there an upstream bugreport?  What is the error message?

> +           (replace 'check
> +             ;; the ldc compiler does not use phobos, therefore no need to test in the bootstrap
> +             (lambda* (#:key inputs outputs #:allow-other-keys)
> +               (and
> +                (zero? (system* "ctest" "-j" (number->string (parallel-job-count)) "-V" "-R" "build-druntime-ldc-unittest"))
> +                (zero? (system* "ctest" "-j" (number->string (parallel-job-count)) "--output-on-failure" "-E" "dmd-testsuite|lit-tests|ldc2-unittest|llvm-ir-testsuite"))))))))

Please use invoke.

>        (description
> -       "LDC is a compiler for the D programming language.  It is based on the
> -latest DMD frontend and uses LLVM as backend.")
> +       "LDC is a compiler for the D programming language.  It is based on
> +the latest DMD compiler that was written in C and is used for
> +bootstrapping more recent compilers written in D.")

Nice!

> +           (replace 'check
> +                    (lambda* (#:key inputs outputs #:allow-other-keys)
> +                      ;; some tests call into gdb binary which needs SHELL and CC set
> +                      (setenv "SHELL" (which "sh"))
> +                      (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
> +                      (zero? (system* "make" "test" "-j" (number->string (parallel-job-count))))))))

Use invoke.

> +     TestScript prog = "/gnu/store/42d5rjrdkln6nwvzwdc8dyd4w6iy3n5j-coreutils-8.27/bin/echo";

Uuuuuh store reference?  Isn't that a bad idea here?