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

From: Pjotr Prins <[email-masked]>
Date: Sun, 18 Feb 2018 22:58:38 +0100

On Sun, Feb 18, 2018 at 01:34:49PM +0100, Danny Milosavljevic wrote:
> 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?

Not yet. The plan is to fix all bugs we are patching for. Meanwhile we
can run as is.

> 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?

I can't test i686, but it is on hydra.

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

Hmm. How did that sneak in?

Pj.

--