summary refs log tree commit diff
path: root/gnu/packages
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 /gnu/packages
parent313bf502b52cf16e8934493e41e547c7dbdd31e0 (diff)
downloadguix-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.
Diffstat (limited to 'gnu/packages')
-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)