Subject: [bug#47615] [PATCH 2/9] gnu: guile-3.0: Fix building on powerpc-linux.

From: Efraim Flashner <[email-masked]>
Date: Wed, 14 Apr 2021 17:00:13 +0300

On Tue, Apr 13, 2021 at 09:00:43PM -0700, Chris Marusich wrote:
> Efraim Flashner <[email-masked]> writes:
> 
> > * gnu/packages/guile.scm (guile-3.0)[arguments]: On powerpc add two
> > phases to adjust for 32-bit big-endian systems.
> > ---
> >  gnu/packages/guile.scm | 21 ++++++++++++++++++++-
> >  1 file changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
> > index f63322794d..dca1b1c16f 100644
> > --- a/gnu/packages/guile.scm
> > +++ b/gnu/packages/guile.scm
> > @@ -305,7 +305,26 @@ without requiring the source code to be rewritten.")
> >           (substitute-keyword-arguments (package-arguments guile-2.2)
> >             ((#:configure-flags flags ''())
> >              `(cons "--disable-jit" ,flags)))
> > -         (package-arguments guile-2.2)))
> > +         (if (string-prefix? "powerpc-" (%current-system))
> > +           (substitute-keyword-arguments (package-arguments guile-2.2)
> > +             ((#:phases phases)
> > +              `(modify-phases ,phases
> > +                 (add-after 'unpack 'adjust-bootstrap-flags
> > +                   (lambda _
> > +                     ;; Upstream not yet notified about suggested solution.
> > +                     ;; See existing bug reports:
> > +                     ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
> > +                     ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977223
> > +                     (substitute* "bootstrap/Makefile.in"
> > +                       (("^GUILE_OPTIMIZATIONS.*")
> > +                        "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))
> > +                     #t))
> > +                 (add-after 'unpack 'remove-failing-tests
> > +                   (lambda _
> > +                     ;; TODO: Discover why this test fails on powerpc-linux

Needs a period at the end of the sentence.

> > +                     (delete-file "test-suite/standalone/test-out-of-memory")
> > +                     #t)))))
> > +           (package-arguments guile-2.2))))
> >      (native-search-paths
> >       (list (search-path-specification
> >              (variable "GUILE_LOAD_PATH")
> 
> Generally this looks reasonable.  I understand 3 weeks is a long
> iteration time!  I think it's OK to proceed if it works for
> bootstrapping other software on this platform.  Especially since the
> change is isolated to just powerpc-linux.
> 
> Has the Guile test failure been reported upstream?
> 

The two bugs mentioned are known to upstream and there are some other
reports of failures on other niche architectures like hppa.
Unfortunately I haven't gotten around to writing the email letting them
know what works for me but I'll do that soon. I haven't signed the CLA
for GNU projects so I want to make sure I don't send them a poisoned
patch.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted