diff --git a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py index 22a3c9cf4686..a7782610afb3 100755 --- a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py +++ b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py @@ -6,7 +6,7 @@ import re import requests import sys -releases = ("openjdk8", "openjdk11") +releases = ("openjdk8", "openjdk11", "openjdk13") oses = ("mac", "linux") types = ("jre", "jdk") impls = ("hotspot", "openj9") diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index fe38f2b21633..d62224d518de 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -9,6 +9,7 @@ sourcePerArch: , fontconfig , zlib , xorg +, libffi }: let @@ -29,7 +30,7 @@ let result = stdenv.mkDerivation rec { buildInputs = [ alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender - ]; + ] ++ lib.optional stdenv.isAarch32 libffi; nativeBuildInputs = [ autoPatchelfHook ]; diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix new file mode 100644 index 000000000000..48806143c87c --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-darwin.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-darwin-base.nix sources.openjdk13.mac.jdk.hotspot; + jre-hotspot = import ./jdk-darwin-base.nix sources.openjdk13.mac.jre.hotspot; + jdk-openj9 = import ./jdk-darwin-base.nix sources.openjdk13.mac.jdk.openj9; + jre-openj9 = import ./jdk-darwin-base.nix sources.openjdk13.mac.jre.openj9; +} diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix new file mode 100644 index 000000000000..1bd7bb884481 --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-linux-base.nix sources.openjdk13.linux.jdk.hotspot; + jre-hotspot = import ./jdk-linux-base.nix sources.openjdk13.linux.jre.hotspot; + jdk-openj9 = import ./jdk-linux-base.nix sources.openjdk13.linux.jdk.openj9; + jre-openj9 = import ./jdk-linux-base.nix sources.openjdk13.linux.jre.openj9; +} diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json index 760608027904..80a16465af25 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json +++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json @@ -117,6 +117,124 @@ } } }, + "openjdk13": { + "linux": { + "jdk": { + "hotspot": { + "aarch64": { + "build": "33", + "sha256": "74f4110333ac4239564ed864b1d7d69b7af32af39efcfbde9816e1486cb5ae07", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_aarch64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "armv6l": { + "build": "33", + "sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "armv7l": { + "build": "33", + "sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "e562caeffa89c834a69a44242d802eae3523875e427f07c05b1902c152638368", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "68ebab0021c719694be8fc868478725a69c5c515cdb62e2933eefe87ba6437df", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + }, + "jre": { + "hotspot": { + "aarch64": { + "build": "33", + "sha256": "2365b7fbba8d9125fb091933aad9f38f8cc1fbb0217cdec9ec75d2000f6d451a", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_aarch64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + }, + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "73800a0d7c4e81df408a8518d282aa2c001ce4ee15541574c639dfc3564f708f", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_linux_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "2ee59be5062a81daa7be85be161cab6b245f9a2e2cbd4769ae9edefaac41e31d", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + } + }, + "mac": { + "jdk": { + "hotspot": { + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "f948be96daba250b6695e22cb51372d2ba3060e4d778dd09c89548889783099f", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_mac_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "583e0defd5c062550896ead7cac383be16f1a81d9b6492dfec26da9af5dcc1c0", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + }, + "jre": { + "hotspot": { + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "33", + "sha256": "1c23efba7908de9a611a98e755602f45381a8f7c957adb3fc4012ab1369a352c", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_mac_hotspot_13_33.tar.gz", + "version": "13.0.0" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "33", + "sha256": "33a60b78138d50cb02325156c7d1fcf588697749a4401f6c11a3cbefa3033127", + "url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz", + "version": "13.0.0" + } + } + } + } + }, "openjdk8": { "linux": { "jdk": { @@ -139,6 +257,18 @@ "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz", "version": "8.0.232" }, + "armv6l": { + "build": "10", + "sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "armv7l": { + "build": "10", + "sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, "packageType": "jdk", "vmType": "hotspot", "x86_64": { @@ -179,6 +309,18 @@ "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz", "version": "8.0.232" }, + "armv6l": { + "build": "10", + "sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "armv7l": { + "build": "10", + "sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, "packageType": "jre", "vmType": "hotspot", "x86_64": { @@ -247,4 +389,4 @@ } } } -} \ No newline at end of file +} diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index 3ee12af5c06c..1502b243d889 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,6 +1,6 @@ -{ stdenv, openjdk12, fetchFromGitHub, jetbrains }: +{ stdenv, openjdk11, fetchFromGitHub, jetbrains }: -openjdk12.overrideAttrs (oldAttrs: rec { +openjdk11.overrideAttrs (oldAttrs: rec { pname = "jetbrains-jdk"; version = "11.0.6-b774"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix new file mode 100644 index 000000000000..094bd57e6e98 --- /dev/null +++ b/pkgs/development/compilers/openjdk/12.nix @@ -0,0 +1,155 @@ +{ stdenv, lib, fetchurl, bash, pkgconfig, autoconf, cpio, file, which, unzip +, zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2 +, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama +, libXcursor, libXrandr, fontconfig, openjdk11 +, setJavaClassPath +, headless ? false +, enableJavaFX ? openjfx.meta.available, openjfx +, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf +}: + +let + major = "12"; + update = ".0.2"; + build = "ga"; + + openjdk = stdenv.mkDerivation rec { + pname = "openjdk" + lib.optionalString headless "-headless"; + version = "${major}${update}-${build}"; + + src = fetchurl { + url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz"; + sha256 = "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7"; + }; + + nativeBuildInputs = [ pkgconfig autoconf ]; + buildInputs = [ + cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib + libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst + libXi libXinerama libXcursor libXrandr fontconfig openjdk11 + ] ++ lib.optionals (!headless && enableGnome2) [ + gtk3 gnome_vfs GConf glib + ]; + + patches = [ + ./fix-java-home-jdk10.patch + ./read-truststore-from-env-jdk10.patch + ./currency-date-range-jdk10.patch + ./increase-javadoc-heap.patch + # -Wformat etc. are stricter in newer gccs, per + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 + # so grab the work-around from + # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 + (fetchurl { + url = https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch; + sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; + }) + ] ++ lib.optionals (!headless && enableGnome2) [ + ./swing-use-gtk-jdk10.patch + ]; + + prePatch = '' + chmod +x configure + patchShebangs --build configure + ''; + + configureFlags = [ + "--with-boot-jdk=${openjdk11.home}" + "--enable-unlimited-crypto" + "--with-native-debug-symbols=internal" + "--with-libjpeg=system" + "--with-giflib=system" + "--with-libpng=system" + "--with-zlib=system" + "--with-lcms=system" + "--with-stdc++lib=dynamic" + ] ++ 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" ]; + + NIX_LDFLAGS = lib.optionals (!headless) [ + "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" + ] ++ lib.optionals (!headless && enableGnome2) [ + "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" + ]; + + buildFlags = [ "all" ]; + + installPhase = '' + mkdir -p $out/lib + + mv build/*/images/jdk $out/lib/openjdk + + # Remove some broken manpages. + rm -rf $out/lib/openjdk/man/ja* + + # Mirror some stuff in top-level. + mkdir -p $out/share + ln -s $out/lib/openjdk/include $out/include + ln -s $out/lib/openjdk/man $out/share/man + + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/linux/*_md.h $out/include/ + + # Remove crap from the installation. + rm -rf $out/lib/openjdk/demo + ${lib.optionalString headless '' + rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so + ''} + + ln -s $out/lib/openjdk/bin $out/bin + ''; + + preFixup = '' + # Propagate the setJavaClassPath setup hook so that any package + # that depends on the JDK has $CLASSPATH set up properly. + mkdir -p $out/nix-support + #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 + echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi + EOF + ''; + + postFixup = '' + # Build the set of output library directories to rpath against + LIBDIRS="" + for output in $outputs; do + if [ "$output" = debug ]; then continue; fi + LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS" + done + # Add the local library paths to remove dependencies on the bootstrap + for output in $outputs; do + if [ "$output" = debug ]; then continue; fi + OUTPUTDIR=$(eval echo \$$output) + BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) + echo "$BINLIBS" | while read i; do + patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true + patchelf --shrink-rpath "$i" || true + done + done + ''; + + disallowedReferences = [ openjdk11 ]; + + meta = with stdenv.lib; { + homepage = http://openjdk.java.net/; + license = licenses.gpl2; + description = "The open-source Java Development Kit"; + maintainers = with maintainers; [ edwtjo ]; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ]; + }; + + passthru = { + architecture = ""; + home = "${openjdk}/lib/openjdk"; + }; + }; +in openjdk diff --git a/pkgs/development/compilers/openjdk/darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix index c954a8e2cf85..775fd3cd3c43 100644 --- a/pkgs/development/compilers/openjdk/darwin/default.nix +++ b/pkgs/development/compilers/openjdk/darwin/default.nix @@ -7,11 +7,11 @@ let }; jdk = stdenv.mkDerivation rec { - name = "zulu12.1.3-ca-jdk12"; + name = "zulu13.29.9-ca-jdk13.0.2"; src = fetchurl { url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz"; - sha256 = "05q3v4vwjd7xhqr21bzlip5x4xhq5rpdshfpb8i86n4zvn7l0mxy"; + sha256 = "1x8ja3x880a1izrwi7bdrwz1ljdvracjx627slzjd2xk8c4211pf"; curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/"; }; diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix index b2d511173c45..24828f16e7be 100644 --- a/pkgs/development/compilers/openjdk/default.nix +++ b/pkgs/development/compilers/openjdk/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, bash, pkgconfig, autoconf, cpio, file, which, unzip , zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama -, libXcursor, libXrandr, fontconfig, openjdk11 +, libXcursor, libXrandr, fontconfig, openjdk13-bootstrap , setJavaClassPath , headless ? false , enableJavaFX ? openjfx.meta.available, openjfx @@ -9,24 +9,24 @@ }: let - major = "12"; + major = "13"; update = ".0.2"; - build = "ga"; + build = "-ga"; openjdk = stdenv.mkDerivation rec { pname = "openjdk" + lib.optionalString headless "-headless"; - version = "${major}${update}-${build}"; + version = "${major}${update}${build}"; src = fetchurl { url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz"; - sha256 = "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7"; + sha256 = "1871ziss7ny19rw8f7bay5vznmhpqbfi4ihn3yygs06wyxhm0zmv"; }; nativeBuildInputs = [ pkgconfig autoconf ]; buildInputs = [ cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst - libXi libXinerama libXcursor libXrandr fontconfig openjdk11 + libXi libXinerama libXcursor libXrandr fontconfig openjdk13-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ gtk3 gnome_vfs GConf glib ]; @@ -35,7 +35,7 @@ let ./fix-java-home-jdk10.patch ./read-truststore-from-env-jdk10.patch ./currency-date-range-jdk10.patch - ./increase-javadoc-heap.patch + ./increase-javadoc-heap-jdk13.patch # -Wformat etc. are stricter in newer gccs, per # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 # so grab the work-around from @@ -45,7 +45,7 @@ let sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) ] ++ lib.optionals (!headless && enableGnome2) [ - ./swing-use-gtk-jdk10.patch + ./swing-use-gtk-jdk13.patch ]; prePatch = '' @@ -54,7 +54,7 @@ let ''; configureFlags = [ - "--with-boot-jdk=${openjdk11.home}" + "--with-boot-jdk=${openjdk13-bootstrap.home}" "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-libjpeg=system" @@ -137,7 +137,7 @@ let done ''; - disallowedReferences = [ openjdk11 ]; + disallowedReferences = [ openjdk13-bootstrap ]; meta = with stdenv.lib; { homepage = http://openjdk.java.net/; diff --git a/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch b/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch new file mode 100644 index 000000000000..6e48db6ac3b9 --- /dev/null +++ b/pkgs/development/compilers/openjdk/increase-javadoc-heap-jdk13.patch @@ -0,0 +1,12 @@ +diff -uw -r a/make/Docs.gmk b/make/Docs.gmk +--- a/make/Docs.gmk 2019-10-09 08:05:43.107349180 -0400 ++++ b/make/Docs.gmk 2019-10-09 08:09:29.330118790 -0400 +@@ -277,7 +277,7 @@ + $1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS)) + + $1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) \ +- -Djspec.version=$$(VERSION_SPECIFICATION) ++ -Djspec.version=$$(VERSION_SPECIFICATION) -Xmx1G + + ifeq ($$(ENABLE_FULL_DOCS), true) + # Tell the ModuleGraph taglet to generate html links to soon-to-be-created diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix index c6bff3961088..b5ac58e6c677 100644 --- a/pkgs/development/compilers/openjdk/openjfx/11.nix +++ b/pkgs/development/compilers/openjdk/openjfx/11.nix @@ -29,6 +29,9 @@ let JDK_HOME = ${openjdk11-bootstrap.home} '' + args.gradleProperties or ""); + #avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. + NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ]; + buildPhase = '' runHook preBuild diff --git a/pkgs/development/compilers/openjdk/openjfx/12.nix b/pkgs/development/compilers/openjdk/openjfx/13.nix similarity index 82% rename from pkgs/development/compilers/openjdk/openjfx/12.nix rename to pkgs/development/compilers/openjdk/openjfx/13.nix index 30c8d36fdfca..632724a9ac00 100644 --- a/pkgs/development/compilers/openjdk/openjfx/12.nix +++ b/pkgs/development/compilers/openjdk/openjfx/13.nix @@ -3,9 +3,9 @@ , ffmpeg, python, ruby }: let - major = "12"; - update = ""; - build = "14"; + major = "13"; + update = ".0.2"; + build = "1"; repover = "${major}${update}+${build}"; gradle_ = (gradleGen.override { java = openjdk11_headless; @@ -15,8 +15,8 @@ let version = "${major}${update}-${build}"; src = fetchurl { - url = "https://hg.openjdk.java.net/openjfx/${major}/rt/archive/${repover}.tar.gz"; - sha256 = "16jjfjkrg57wsj9mmm52i2kl3byz3ba1f9f8wwc8zwqm4cpjzliz"; + url = "https://hg.openjdk.java.net/openjfx/${major}-dev/rt/archive/${repover}.tar.gz"; + sha256 = "1si9wpb9malnf8zzz57l6b80088z2370zfxp1b0kk6rs0cnvpr74"; }; buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg ]; @@ -29,6 +29,9 @@ let JDK_HOME = ${openjdk11_headless.home} '' + args.gradleProperties or ""); + #avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. + NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ]; + buildPhase = '' runHook preBuild @@ -59,8 +62,8 @@ let outputHashMode = "recursive"; # Downloaded AWT jars differ by platform. outputHash = { - x86_64-linux = "1z5qar5l28ja4pkf5l5m48xbv3x1yrnilsv9lpf2j3vkdk9h1nci"; - i686-linux = "0rbygvjc7w197fi5nxldqdrm6mpiyd3n45042g3gd4s5qk08spjd"; + x86_64-linux = "077zss95iq6iskx7ghz1c57ymydpzj0wm7r1pkznw99l9xwvdmqi"; + i686-linux = "03gglr2sh77cyg16qw9g45ji33dg7i93s5s30hz3mh420g112qa0"; }.${stdenv.system} or (throw "Unsupported platform"); }; @@ -72,6 +75,9 @@ in makePackage { COMPILE_WEBKIT = true ''; + #openjdk build fails if licenses are identical, so we must patch this trivial difference + patches = [ ./openjfx-mesa-license.patch ]; + preBuild = '' swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)" substituteInPlace build.gradle \ diff --git a/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch b/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch new file mode 100644 index 000000000000..d3bf9e17c22b --- /dev/null +++ b/pkgs/development/compilers/openjdk/openjfx/openjfx-mesa-license.patch @@ -0,0 +1,17 @@ +--- a/modules/javafx.graphics/src/main/legal/mesa3d.md 1969-12-31 19:00:01.000000000 -0500 ++++ b/modules/javafx.graphics/src/main/legal/mesa3d.md 2019-08-08 01:05:04.000000000 -0400 +@@ -1,7 +1,7 @@ + ## Mesa 3-D Graphics Library v5.0 + + ### Mesa License +-``` ++
+ 
+ Mesa 3-D graphics library
+ Version:  5.0
+@@ -25,4 +25,4 @@
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+-```
++
diff --git a/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch new file mode 100644 index 000000000000..8a1b9b6149bb --- /dev/null +++ b/pkgs/development/compilers/openjdk/swing-use-gtk-jdk13.patch @@ -0,0 +1,22 @@ +--- a/src/java.desktop/share/classes/javax/swing/UIManager.java 2019-08-08 01:05:04.000000000 -0400 ++++ b/src/java.desktop/share/classes/javax/swing/UIManager.java 2019-10-09 08:20:31.791606748 -0400 +@@ -660,9 +660,8 @@ + Toolkit toolkit = Toolkit.getDefaultToolkit(); + if (toolkit instanceof SunToolkit) { + SunToolkit suntk = (SunToolkit)toolkit; +- String desktop = suntk.getDesktop(); + boolean gtkAvailable = suntk.isNativeGTKAvailable(); +- if ("gnome".equals(desktop) && gtkAvailable) { ++ if (gtkAvailable) { + return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; + } + } +@@ -1397,7 +1396,7 @@ + lafName = lafData.remove("defaultlaf"); + } + if (lafName == null) { +- lafName = getCrossPlatformLookAndFeelClassName(); ++ lafName = getSystemLookAndFeelClassName(); + } + lafName = swingProps.getProperty(defaultLAFKey, lafName); + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ae749b866d7f..b78ce32b1090 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7824,6 +7824,24 @@ in abcl = callPackage ../development/compilers/abcl {}; + adoptopenjdk-bin-13-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix; + adoptopenjdk-bin-13-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix; + + adoptopenjdk-hotspot-bin-13 = if stdenv.isLinux + then callPackage adoptopenjdk-bin-13-packages-linux.jdk-hotspot {} + else callPackage adoptopenjdk-bin-13-packages-darwin.jdk-hotspot {}; + adoptopenjdk-jre-hotspot-bin-13 = if stdenv.isLinux + then callPackage adoptopenjdk-bin-13-packages-linux.jre-hotspot {} + else callPackage adoptopenjdk-bin-13-packages-darwin.jre-hotspot {}; + + adoptopenjdk-openj9-bin-13 = if stdenv.isLinux + then callPackage adoptopenjdk-bin-13-packages-linux.jdk-openj9 {} + else callPackage adoptopenjdk-bin-13-packages-darwin.jdk-openj9 {}; + + adoptopenjdk-jre-openj9-bin-13 = if stdenv.isLinux + then callPackage adoptopenjdk-bin-13-packages-linux.jre-openj9 {} + else callPackage adoptopenjdk-bin-13-packages-darwin.jre-openj9 {}; + adoptopenjdk-bin-11-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix; adoptopenjdk-bin-11-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix; @@ -8480,7 +8498,7 @@ in openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { }; - openjfx12 = callPackage ../development/compilers/openjdk/openjfx/12.nix { }; + openjfx13 = callPackage ../development/compilers/openjdk/openjfx/13.nix { }; openjdk8-bootstrap = if adoptopenjdk-hotspot-bin-8.meta.available then @@ -8525,21 +8543,33 @@ in else openjdk11.override { headless = true; }; + openjdk13-bootstrap = + if adoptopenjdk-hotspot-bin-13.meta.available then + adoptopenjdk-hotspot-bin-13 + else + /* adoptopenjdk not available for i686, so fall back to our old build of 12 for bootstrapping */ + callPackage ../development/compilers/openjdk/12.nix { + openjfx = openjfx11; /* need this despite next line :-( */ + enableJavaFX = false; + headless = true; + inherit (gnome2) GConf gnome_vfs; + }; + /* current JDK */ - openjdk12 = + openjdk13 = if stdenv.isDarwin then callPackage ../development/compilers/openjdk/darwin { } else callPackage ../development/compilers/openjdk { - openjfx = openjfx12; + openjfx = openjfx13; inherit (gnome2) GConf gnome_vfs; }; - openjdk12_headless = + openjdk13_headless = if stdenv.isDarwin then - openjdk12 + openjdk13 else - openjdk12.override { headless = true; }; + openjdk13.override { headless = true; }; openjdk = openjdk8; openjdk_headless = openjdk8_headless; @@ -8551,8 +8581,8 @@ in jdk11 = openjdk11; jdk11_headless = openjdk11_headless; - jdk12 = openjdk12; - jdk12_headless = openjdk12_headless; + jdk13 = openjdk13; + jdk13_headless = openjdk13_headless; jdk = jdk8; jre = jre8;