diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-10-16 16:27:45 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-10-16 17:36:19 +0200 |
commit | ed41d48ef195960d784db0e547d5ff6dcaa9b774 (patch) | |
tree | 01c02125166a6f1e78b6928f81dc3f9efeff8f69 /gnu | |
parent | 63760b5bab223131d3cef39755eaff9ea3c4d70b (diff) | |
download | guix-ed41d48ef195960d784db0e547d5ff6dcaa9b774.tar guix-ed41d48ef195960d784db0e547d5ff6dcaa9b774.tar.gz |
gnu: make: Update to 4.0, with Guile support.
* gnu/packages/base.scm (gnu-make): Update to 4.0. Add Guile as an input.
(gnu-make-boot0): Patch 'build.sh' so it does not attempt to build 'guile.c'.
(gnu-make-final): New variable.
(%final-inputs): Use it.
(glibc): Add 'glibc-make-4.0.patch'.
* gnu/packages/patches/glibc-make-4.0.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/base.scm | 24 | ||||
-rw-r--r-- | gnu/packages/patches/glibc-make-4.0.patch | 12 |
2 files changed, 31 insertions, 5 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7cf328a80c..8a9cee1694 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -276,16 +276,17 @@ functionality beyond that which is outlined in the POSIX standard.") (define-public gnu-make (package (name "make") - (version "3.82") + (version "4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/make/make-" version ".tar.bz2")) (sha256 (base32 - "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")) + "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6")) (patches (list (search-patch "make-impure-dirs.patch"))))) (build-system gnu-build-system) + (inputs `(("guile" ,guile-2.0))) (outputs '("out" "debug")) (arguments '(#:phases (alist-cons-before @@ -364,7 +365,8 @@ archives.") "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")) (patches (map search-patch '("glibc-no-ld-so-cache.patch" - "glibc-ldd-x86_64.patch"))))) + "glibc-ldd-x86_64.patch" + "glibc-make-4.0.patch"))))) (build-system gnu-build-system) ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc @@ -560,6 +562,10 @@ and daylight-saving rules.") ((#:phases phases) `(alist-replace 'build (lambda _ + ;; Don't attempt to build 'guile.c' since we don't + ;; have Guile here. + (substitute* "build.sh" + (("guile\\.\\$\\{OBJEXT\\}") "")) (zero? (system* "./build.sh"))) (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -991,6 +997,14 @@ store.") (current-source-location) #:guile %bootstrap-guile))) +(define-public gnu-make-final + ;; The final GNU Make, which uses the final Guile. + (package-with-bootstrap-guile + (package-with-explicit-inputs gnu-make + `(("guile" ,guile-final) + ,@%boot4-inputs) + (current-source-location)))) + (define-public ld-wrapper ;; The final `ld' wrapper, which uses the final Guile. (package (inherit ld-wrapper-boot3) @@ -1021,8 +1035,8 @@ store.") ("sed" ,sed) ("grep" ,grep) ("findutils" ,findutils) - ("gawk" ,gawk) - ("make" ,gnu-make))) + ("gawk" ,gawk))) + ("make" ,gnu-make-final) ("bash" ,bash-final) ("ld-wrapper" ,ld-wrapper) ("binutils" ,binutils-final) diff --git a/gnu/packages/patches/glibc-make-4.0.patch b/gnu/packages/patches/glibc-make-4.0.patch new file mode 100644 index 0000000000..d83de1d33d --- /dev/null +++ b/gnu/packages/patches/glibc-make-4.0.patch @@ -0,0 +1,12 @@ +Allow libc to be compiled with GNU Make 4.0. + +--- glibc-2.18/configure 2013-08-11 00:52:55.000000000 +0200 ++++ glibc-2.18/configure 2013-10-16 16:53:09.000000000 +0200 +@@ -4772,7 +4772,7 @@ $as_echo_n "checking version of $MAKE... + ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 3.79* | 3.[89]*) ++ 3.79* | 3.[89]* | 4.*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; |