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

2021-04-14 Thread Efraim Flashner
On Tue, Apr 13, 2021 at 09:00:43PM -0700, Chris Marusich wrote:
> Efraim Flashner  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  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


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

2021-04-13 Thread Chris Marusich
Efraim Flashner  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
> + (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?

-- 
Chris


signature.asc
Description: PGP signature


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

2021-04-06 Thread Efraim Flashner
* 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
+ (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")
-- 
2.31.1