Message ID | c11ad7faa3690b2dfef924a31137f6ced5aab23f.1617711307.git.efraim@flashner.co.il |
---|---|
State | Accepted |
Headers | show |
Series | Add 32-bit powerpc support | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Efraim Flashner <efraim@flashner.co.il> 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?
On Tue, Apr 13, 2021 at 09:00:43PM -0700, Chris Marusich wrote: > Efraim Flashner <efraim@flashner.co.il> 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.
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")