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.master
parent
63760b5bab
commit
ed41d48ef1
|
@ -218,6 +218,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-ldd-x86_64.patch \
|
||||
gnu/packages/patches/glibc-make-4.0.patch \
|
||||
gnu/packages/patches/glibc-no-ld-so-cache.patch \
|
||||
gnu/packages/patches/grub-gets-undeclared.patch \
|
||||
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;;
|
Reference in New Issue