Nikita Karetnikov <nik...@karetnikov.org> skribis: > I'm attaching three patches. > '0001-gnu-Disable-Libtool-s-testsuite.patch' and > '0001-gnu-Set-ARCH-to-mips.patch' are for 'mips64el'. The other one is > for 'core-updates', but it's also needed for 'mips64el'. (Should I push > to both?) > > Could you test them? (Don't forget to adjust 'build-aux/download.scm'.)
I can’t test on MIPS, but here are some comments. > I'll push them if they are fine. To the ‘mips64el’ branch. > From 41aeaf76e8c61d184f06e8c886e595e8a97ebd16 Mon Sep 17 00:00:00 2001 > From: Nikita Karetnikov <nik...@karetnikov.org> > Date: Thu, 14 Feb 2013 06:25:38 +0000 > Subject: [PATCH] gnu: Remove a newline. Change to “gnu: gcc: Remove extraneous newline in LIB_SPEC”. Otherwise it sounds like it removes a non-significant newline in the code. > * gnu/packages/base.scm (gcc-4.7): Remove the newline. “Remove trailing newline when patching ‘LIB_SPEC’.” You can already commit this one with these changes. > From ad1536e4730b9d37a0519fdd29bdd8195554358d Mon Sep 17 00:00:00 2001 > From: Nikita Karetnikov <nik...@karetnikov.org> > Date: Thu, 14 Feb 2013 06:36:23 +0000 > Subject: [PATCH] gnu: Disable Libtool's testsuite. > > * gnu/packages/autotools.scm (libtool): Add '#:tests? #f'. > --- > gnu/packages/autotools.scm | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm > index bc4dddc..e004dd9 100644 > --- a/gnu/packages/autotools.scm > +++ b/gnu/packages/autotools.scm > @@ -195,7 +195,8 @@ Standards. Automake requires the use of Autoconf.") > "out")) ; libltdl.so, ltdl.h, etc. > > (arguments > - `(#:patches (list (assoc-ref %build-inputs "patch/skip-tests")) > + `(#:tests? #f Instead of disabling tests for everyone, do something like: `(;; XXX: Work around test failure on MIPS as reported at ;; <http://.../bug-libtool/...>. #:tests? ,(not (string=? (%current-system) "mips64el-linux")) ;; ... ) Once done, you can commit it as well. > From 31a7f172941c592f04f8f741b89e04a2a6677a76 Mon Sep 17 00:00:00 2001 > From: Nikita Karetnikov <nik...@karetnikov.org> > Date: Thu, 14 Feb 2013 06:14:48 +0000 > Subject: [PATCH] gnu: Set 'ARCH' to 'mips'. > > * gnu/packages/linux.scm (linux-libre-headers): Set 'ARCH' to 'mips'. > --- > gnu/packages/linux.scm | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm > index 58cddc0..fe8148c 100644 > --- a/gnu/packages/linux.scm > +++ b/gnu/packages/linux.scm > @@ -29,20 +29,31 @@ > #:use-module (gnu packages pkg-config) > #:use-module (guix packages) > #:use-module (guix download) > - #:use-module (guix build-system gnu)) > + #:use-module (guix build-system gnu) > + #:use-module ((guix utils) #:select (%current-system))) > > (define-public linux-libre-headers > (let* ((version* "3.3.8") > (build-phase > - '(lambda* (#:key system #:allow-other-keys) > + (lambda () > + `(lambda* (#:key system #:allow-other-keys) > (let ((arch (car (string-split system #\-)))) > (setenv "ARCH" > (cond ((string=? arch "i686") "i386") > + > + ;; FIXME: The unquote below is just to > + ;; avoid triggering a rebuild. Remove me > + ;; on the next core-updates. > + ,@(if (string-prefix? "mips" > + (%current-system)) > + `(((string-prefix? "mips" arch) > + "mips")) > + '()) Now that we’re triggering a rebuild anyway, let’s write it the normal way, that is: (setenv "ARCH" (cond ((string=? arch "i686") "i386") ((string-prefix? "mips" arch") "mips") (else arch))) Actually, even better would be do that in host code, as done with ‘glibc-dynamic-linker’: (define (system->linux-architecture arch) (let ((arch (car (string-split arch #\-)))) (cond ((string=? arch "i686") "i386") ((string-prefix? "mips" arch") "mips") (else arch)))) And then, change ‘build-phase’ to something like: (let ((build-phase (lambda (arch) `(lambda _ (setenv "ARCH" ,(system->linux-architecture arch)) ...)))) (arguments `(#:phase ... ,(build-phase (%current-system)) ...))) Could you try that? Thanks! Ludo’.