aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-28 20:57:27 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-28 20:57:27 +0100
commit5fd0c288cf238e4369cc6bd0bfbee068a362a9f0 (patch)
tree98077e2552856deb18bbc3347627db1b6281e5df
parent313bf502b52cf16e8934493e41e547c7dbdd31e0 (diff)
downloadguix-5fd0c288cf238e4369cc6bd0bfbee068a362a9f0.tar
guix-5fd0c288cf238e4369cc6bd0bfbee068a362a9f0.tar.gz
gnu: OpenJDK: Build with GNU Make 4.2.
* gnu/packages/base.scm (gnu-make-4.2): New public variable. * gnu/packages/java.scm (openjdk9, openjdk10, openjdk11, openjdk12)[native-inputs]: Add it.
-rw-r--r--gnu/packages/base.scm25
-rw-r--r--gnu/packages/java.scm6
2 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index aa5200294f..da18a9d60b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -395,6 +395,31 @@ change. GNU make offers many powerful extensions over the standard utility.")
(license gpl3+)
(home-page "https://www.gnu.org/software/make/")))
+(define-public gnu-make-4.2
+ (package
+ (inherit gnu-make)
+ (version "4.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/make/make-" version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn"))))
+ (arguments
+ `(#:configure-flags '("CFLAGS=-D__alloca=alloca")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-default-shell
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Change the default shell from /bin/sh.
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* "job.c"
+ (("default_shell =.*$")
+ (format #f "default_shell = \"~a/bin/sh\";\n"
+ bash)))
+ #t))))))))
+
(define-public binutils
(package
(name "binutils")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index edf8d3ce8e..c68b0d3fd2 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1880,6 +1880,9 @@ new Date();"))
(native-inputs
`(("icedtea-8" ,icedtea-8)
("icedtea-8:jdk" ,icedtea-8 "jdk")
+ ;; XXX: The build system is not particularly parallel safe and
+ ;; fails with newer versions of GNU Make.
+ ("make@4.2" ,gnu-make-4.2)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))
@@ -1936,6 +1939,7 @@ new Date();"))
(native-inputs
`(("openjdk9" ,openjdk9)
("openjdk9:jdk" ,openjdk9 "jdk")
+ ("make@4.2" ,gnu-make-4.2)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))))
@@ -2156,6 +2160,7 @@ new Date();"))
`(("autoconf" ,autoconf)
("openjdk10" ,openjdk10)
("openjdk10:jdk" ,openjdk10 "jdk")
+ ("make" ,gnu-make-4.2)
("pkg-config" ,pkg-config)
("unzip" ,unzip)
("which" ,which)
@@ -2204,6 +2209,7 @@ new Date();"))
`(("autoconf" ,autoconf)
("openjdk11" ,openjdk11)
("openjdk11:jdk" ,openjdk11 "jdk")
+ ("make@4.2" ,gnu-make-4.2)
("pkg-config" ,pkg-config)
("unzip" ,unzip)
("which" ,which)