Subject: bug#26582: [PATCH] gnu: pcre: Fix Check for Hurd systems.

From: [email-masked] (Ludovic Courtès)
Date: Sun, 23 Apr 2017 00:13:15 +0200

Hi rennes,

rennes <[email-masked]> skribis:

> On 04/20/2017 04:27:29 PM, Ludovic Courtès wrote:
>> >
>> > I moved zlib and readline to 'native-inputs'.
>> 
>> Are you sure they need to be native inputs?  Both are libraries, so I
>> imagine they’re used at run time, not at build time; they should be
>> inputs, in this case.
>> 
> I added system types: "--build=" and "--host=" to 'configure'. Now  
> detects correctly the inputs.
>
> Built successfully on Linux x86_64, GNU/Hurd and cross-compiling with  
> target 'i586-pc-gnu'.
> Thanks for the guide
>
> From 05f159e343173708b85c5e45b6cfe64e3939c68d Mon Sep 17 00:00:00 2001
> From: rennes <[email-masked]>
> Date: Fri, 21 Apr 2017 21:22:08 -0500
> Subject: [PATCH] gnu: pcre: Fix Check for Hurd systems.
>
> * gnu/packages/pcre.scm (pcre)[arguments]: Add "--disable-stack-for-recursion".	

The patch does more than that.  :-)

> +      #:phases
> +      (modify-phases %standard-phases
> +        (replace 'configure
> +                 (lambda* (#:key outputs build target #:allow-other-keys)
> +                   (let* ((out (assoc-ref outputs "out"))
> +                          (bin (assoc-ref outputs "bin"))
> +                          (doc (assoc-ref outputs "doc")))
> +                     (setenv "CONFIG_SHELL" (which "bash"))
> +                     (zero?
> +                      (system* "./configure"
> +                               (string-append "--prefix=" out)
> +                               (string-append "--bindir=" bin)
> +                               (string-append "--docdir=" doc)
> +                               (string-append "--build=" build)
> +                               (string-append "--host=" (or target build))

I would expect the ‘configure’ phase in (guix build gnu-build-system) to
already pass those flags, no?  (If that is the case we could keep
#:configure-flags instead of replacing the ‘configure’ phase.)

> +                               ;; On GNU/Hurd systems FAIL 'RunTest' with 'segmentation
> +                               ;; fault' in Check phase, to pass the test we can disable
> +                               ;; "--enable-jit" or set "--disable-stack-for-recursion"
> +                               ;; argument.
> +                               ,@(if (hurd-triplet? (or (%current-system)
> +                                                        ( %current-target-system)))
> +                                     '("--disable-stack-for-recursion")
> +                                     '())))))))))

This part looks OK to me (even better if you have a pointer to an
upstream bug report or discussion.)

Thanks!

Luodo’.