diff options
author | Manolis Ragkousis <manolis837@gmail.com> | 2016-11-13 15:19:46 +0200 |
---|---|---|
committer | Manolis Ragkousis <manolis837@gmail.com> | 2016-11-30 15:17:38 +0200 |
commit | 9b5f498deff516a9799a132fb04b40fb9ccfd7a6 (patch) | |
tree | bc622ef59b0afe34480afa8d5b1084130fe39a67 | |
parent | f265a3cee55c5fbbd9e05ec351ae562274b55df6 (diff) | |
download | guix-9b5f498deff516a9799a132fb04b40fb9ccfd7a6.tar.gz |
gnu: glibc-hurd: Force mach/hurd/libpthread subdirs to build first.
* gnu/packages/base.scm (glibc/hurd)[arguments]: Replace 'build' phase. Co-authored-by: Ludovic Court<C3><A8>s <ludo@gnu.org>
-rw-r--r-- | gnu/packages/base.scm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8aa426959f..9fb8c3a56d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -715,7 +715,21 @@ with the Linux kernel.") ;; Use the right 'pwd'. (substitute* "configure" (("/bin/pwd") "pwd"))) - ,original-phases))) + (alist-replace + 'build + (lambda _ + ;; Force mach/hurd/libpthread subdirs to build first in order to avoid + ;; linking errors. + ;; See <https://lists.gnu.org/archive/html/bug-hurd/2016-11/msg00045.html> + (let ((-j (list "-j" (number->string (parallel-job-count))))) + (let-syntax ((make (syntax-rules () + ((_ target) + (zero? (apply system* "make" target -j)))))) + (and (make "mach/subdir_lib") + (make "hurd/subdir_lib") + (make "libpthread/subdir_lib") + (zero? (apply system* "make" -j)))))) + ,original-phases)))) ((#:configure-flags original-configure-flags) `(append (list "--host=i586-pc-gnu" |