diff options
author | Wanja Hentze <wanja.hentze@bevuta.com> | 2022-04-21 15:07:57 +0200 |
---|---|---|
committer | Wanja Hentze <wanja.hentze@bevuta.com> | 2022-04-21 15:08:35 +0200 |
commit | 33bf05f46a6214eb2ad2d379909ba2192689aef4 (patch) | |
tree | 0f9a264dfc4dabda0fe52dff56f81ead0b4b195f /pkgs/development/compilers/openjdk | |
parent | 881ea516cf552fbb159aed4462873762a8297409 (diff) |
openjdk: 11.0.12+7 -> 11.0.15.+10
Fixes several security vulnerabilities, see https://openjdk.java.net/groups/vulnerability/advisories/2022-04-19
Diffstat (limited to 'pkgs/development/compilers/openjdk')
-rw-r--r-- | pkgs/development/compilers/openjdk/11.nix | 13 | ||||
-rw-r--r-- | pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch | 24 |
2 files changed, 29 insertions, 8 deletions
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix index 8c45bece9adc1..1a74a78fc6c46 100644 --- a/pkgs/development/compilers/openjdk/11.nix +++ b/pkgs/development/compilers/openjdk/11.nix @@ -11,8 +11,8 @@ let major = "11"; minor = "0"; - update = "12"; - build = "7"; + update = "15"; + build = "10"; openjdk = stdenv.mkDerivation rec { pname = "openjdk" + lib.optionalString headless "-headless"; @@ -22,7 +22,7 @@ let owner = "openjdk"; repo = "jdk${major}u"; rev = "jdk-${version}"; - sha256 = "0s8g6gj5vhm7hbp05cqaxasjrkwr41fm634qim8q6slklm4pkkli"; + sha256 = "le2JDxPJPSuga4JxLJNRZwCaodptSb2kh4TsJXumTXs="; }; nativeBuildInputs = [ pkg-config autoconf unzip ]; @@ -40,7 +40,6 @@ let ./currency-date-range-jdk10.patch ./increase-javadoc-heap.patch ./fix-library-path-jdk11.patch - ./fix-glibc-2.34.patch ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk10.patch ]; @@ -61,13 +60,17 @@ let "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" + "--disable-warnings-as-errors" ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; - NIX_CFLAGS_COMPILE = "-Wno-error"; + # Workaround for + # `cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]` + # when building jtreg + NIX_CFLAGS_COMPILE = "-Wformat"; NIX_LDFLAGS = toString (lib.optionals (!headless) [ "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" diff --git a/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch b/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch index 21263dd68926a..ce30edb7f1d9a 100644 --- a/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch +++ b/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch @@ -1,16 +1,31 @@ +From 83f97773ea99fe2191a49e551ea43d51c9a765cd Mon Sep 17 00:00:00 2001 +Subject: [PATCH] strip some hard-coded default paths for libs and extensions + +--- + src/hotspot/os/linux/os_linux.cpp | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp -index 0dbe03349e..847d56778d 100644 +index 476b1c2175..2695ed2301 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp -@@ -326,13 +326,13 @@ void os::init_system_properties_values() { +@@ -417,20 +417,20 @@ void os::init_system_properties_values() { // ... // 7: The default directories, normally /lib and /usr/lib. #if defined(AMD64) || (defined(_LP64) && defined(SPARC)) || defined(PPC64) || defined(S390) - #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib" + #define DEFAULT_LIBPATH "" #else + #if defined(AARCH64) + // Use 32-bit locations first for AARCH64 (a 64-bit architecture), since some systems + // might not adhere to the FHS and it would be a change in behaviour if we used + // DEFAULT_LIBPATH of other 64-bit architectures which prefer the 64-bit paths. +- #define DEFAULT_LIBPATH "/lib:/usr/lib:/usr/lib64:/lib64" ++ #define DEFAULT_LIBPATH "" + #else - #define DEFAULT_LIBPATH "/lib:/usr/lib" + #define DEFAULT_LIBPATH "" + #endif // AARCH64 #endif // Base path of extensions installed on the system. @@ -19,7 +34,7 @@ index 0dbe03349e..847d56778d 100644 #define EXTENSIONS_DIR "/lib/ext" // Buffer that fits several sprintfs. -@@ -392,13 +392,13 @@ void os::init_system_properties_values() { +@@ -490,13 +490,13 @@ void os::init_system_properties_values() { strlen(v) + 1 + sizeof(SYS_EXT_DIR) + sizeof("/lib/") + sizeof(DEFAULT_LIBPATH) + 1, mtInternal); @@ -35,3 +50,6 @@ index 0dbe03349e..847d56778d 100644 Arguments::set_ext_dirs(buf); FREE_C_HEAP_ARRAY(char, buf); +-- +2.35.1 + |