lol

zulu: add darwin support

+82 -276
+16
pkgs/development/compilers/openjdk/darwin/11.nix pkgs/development/compilers/zulu/11.nix
··· 7 7 # Details from https://www.azul.com/downloads/?version=java-11-lts&package=jdk 8 8 # Note that the latest build may differ by platform 9 9 dists = { 10 + x86_64-linux = { 11 + zuluVersion = "11.66.15"; 12 + jdkVersion = "11.0.20"; 13 + hash = 14 + if enableJavaFX then "sha256-CjWtqnirEDrpF61WXm/Yi372IzhpTpi+/AfEqirlZnc=" 15 + else "sha256-o0tAT4egimEUizjhQW2DcYnh33oEDZSedDYz2vRpWjw="; 16 + }; 17 + 18 + aarch64-linux = { 19 + zuluVersion = "11.66.15"; 20 + jdkVersion = "11.0.20"; 21 + hash = 22 + if enableJavaFX then throw "JavaFX is not available for aarch64-linux" 23 + else "sha256-VBdEOfKz/d0R8QSMOX/nu0XUydZtRS1oibAT0E0hxN4="; 24 + }; 25 + 10 26 x86_64-darwin = { 11 27 zuluVersion = "11.66.15"; 12 28 jdkVersion = "11.0.20";
pkgs/development/compilers/openjdk/darwin/16.nix pkgs/development/compilers/zulu/16.nix
pkgs/development/compilers/openjdk/darwin/17.nix pkgs/development/compilers/zulu/17.nix
pkgs/development/compilers/openjdk/darwin/18.nix pkgs/development/compilers/zulu/18.nix
pkgs/development/compilers/openjdk/darwin/19.nix pkgs/development/compilers/zulu/19.nix
pkgs/development/compilers/openjdk/darwin/20.nix pkgs/development/compilers/zulu/20.nix
-26
pkgs/development/compilers/openjdk/darwin/8.nix
··· 1 - { callPackage 2 - , enableJavaFX ? false 3 - , ... 4 - }@args: 5 - 6 - callPackage ./common.nix ({ 7 - # Details from https://www.azul.com/downloads/?version=java-8-lts&package=jdk 8 - # Note that the latest build may differ by platform 9 - dists = { 10 - x86_64-darwin = { 11 - zuluVersion = "8.72.0.17"; 12 - jdkVersion = "8.0.382"; 13 - hash = 14 - if enableJavaFX then "sha256-/x8FqygivzddXsOwIV8aj/u+LPXMmokgu97vLAVEv80=" 15 - else "sha256-3dTPIPGUeT6nb3gncNvEa4VTRyQIBJpp8oZadrT2ToE="; 16 - }; 17 - 18 - aarch64-darwin = { 19 - zuluVersion = "8.72.0.17"; 20 - jdkVersion = "8.0.382"; 21 - hash = 22 - if enableJavaFX then "sha256-FkQ+0MzSZWUzc/HmiDVZEHGOrdKAVCdK5pm9wXXzzaU=" 23 - else "sha256-rN5AI4xAWppE4kJlzMod0JmGyHdHjTXYtx8/wOW6CFk="; 24 - }; 25 - }; 26 - } // builtins.removeAttrs args [ "callPackage" ])
+1 -1
pkgs/development/compilers/openjdk/darwin/common.nix pkgs/development/compilers/zulu/common.nix
··· 142 142 home = jdk; 143 143 }; 144 144 145 - meta = (import ../../openjdk/meta.nix lib version) // { 145 + meta = (import ../openjdk/meta.nix lib version) // { 146 146 description = "Certified builds of OpenJDK"; 147 147 longDescription = '' 148 148 Certified builds of OpenJDK that can be deployed across multiple
+26
pkgs/development/compilers/zulu/21.nix
··· 1 + { callPackage 2 + , enableJavaFX ? false 3 + , ... 4 + }@args: 5 + 6 + callPackage ./common.nix ({ 7 + # Details from https://www.azul.com/downloads/?version=java-21-lts&package=jdk 8 + # Note that the latest build may differ by platform 9 + dists = { 10 + x86_64-darwin = { 11 + zuluVersion = "21.28.85"; 12 + jdkVersion = "21.0.0"; 13 + hash = 14 + if enableJavaFX then "sha256-QrgEpLaNGc2aNFF38z2ckUTCpweKnuALYLOWATZFJPA=" 15 + else "sha256-ljm4fbWG0MifepiSrkf0IeRCxkuXuuvf8xeI++IyZb0="; 16 + }; 17 + 18 + aarch64-darwin = { 19 + zuluVersion = "21.28.85"; 20 + jdkVersion = "21.0.0"; 21 + hash = 22 + if enableJavaFX then "sha256-PUVB/R1K1dLTi1FsOYIvcI76M6EYYeMG1Bm+oMno//Y=" 23 + else "sha256-KnqZo+omPb2NMqZ9Hm42O6iyXGRcgm9eFnoCu6+v8fo="; 24 + }; 25 + }; 26 + } // builtins.removeAttrs args [ "callPackage" ])
+30 -116
pkgs/development/compilers/zulu/8.nix
··· 1 - { stdenv 2 - , lib 3 - , fetchurl 4 - , autoPatchelfHook 5 - , unzip 6 - , makeWrapper 7 - , setJavaClassPath 8 - , zulu 9 - # minimum dependencies 10 - , alsa-lib 11 - , fontconfig 12 - , freetype 13 - , xorg 14 - # runtime dependencies 15 - , cups 16 - # runtime dependencies for GTK+ Look and Feel 17 - , gtkSupport ? stdenv.isLinux 18 - , cairo 19 - , glib 20 - , gtk3 21 - }: 22 - 23 - let 24 - version = "8.68.0.19"; 25 - openjdk = "8.0.362"; 26 - 27 - sha256_linux = "sha256-jNty0iJoXG+sp7v2fGCrwZWCSZfQ4tkYe8ERixQMKL0="; 28 - sha256_darwin = "sha256-3/P3puM6a7tCHP5eZM6IzbdPrqnhY1dTa7QWss9M08M="; 29 - 30 - platform = if stdenv.isDarwin then "macosx" else "linux"; 31 - hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; 32 - extension = if stdenv.isDarwin then "zip" else "tar.gz"; 33 - 34 - runtimeDependencies = [ 35 - cups 36 - ] ++ lib.optionals gtkSupport [ 37 - cairo glib gtk3 38 - ]; 39 - runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; 40 - 41 - in stdenv.mkDerivation { 42 - inherit version openjdk platform hash extension; 43 - 44 - pname = "zulu"; 45 - 46 - src = fetchurl { 47 - url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_x64.${extension}"; 48 - sha256 = hash; 49 - }; 50 - 51 - buildInputs = lib.optionals stdenv.isLinux [ 52 - alsa-lib # libasound.so wanted by lib/libjsound.so 53 - fontconfig 54 - freetype 55 - stdenv.cc.cc # libstdc++.so.6 56 - xorg.libX11 57 - xorg.libXext 58 - xorg.libXi 59 - xorg.libXrender 60 - xorg.libXtst 61 - ]; 62 - 63 - nativeBuildInputs = [ 64 - makeWrapper 65 - ] ++ lib.optionals stdenv.isLinux [ 66 - autoPatchelfHook 67 - ] ++ lib.optionals stdenv.isDarwin [ 68 - unzip 69 - ]; 70 - 71 - installPhase = '' 72 - runHook preInstall 73 - 74 - mkdir -p $out 75 - cp -r ./* "$out/" 76 - '' + lib.optionalString stdenv.isLinux '' 77 - # jni.h expects jni_md.h to be in the header search path. 78 - ln -s $out/include/linux/*_md.h $out/include/ 79 - '' + '' 80 - mkdir -p $out/nix-support 81 - printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs 1 + { callPackage 2 + , enableJavaFX ? false 3 + , ... 4 + }@args: 82 5 83 - # Set JAVA_HOME automatically. 84 - cat <<EOF >> $out/nix-support/setup-hook 85 - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi 86 - EOF 87 - '' + lib.optionalString stdenv.isLinux '' 88 - # We cannot use -exec since wrapProgram is a function but not a command. 89 - for bin in $( find "$out" -executable -type f ); do 90 - if patchelf --print-interpreter "$bin" &> /dev/null; then 91 - wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" 92 - fi 93 - done 94 - '' + '' 95 - runHook postInstall 96 - ''; 6 + callPackage ./common.nix ({ 7 + # Details from https://www.azul.com/downloads/?version=java-8-lts&package=jdk 8 + # Note that the latest build may differ by platform 9 + dists = { 10 + x86_64-linux = { 11 + zuluVersion = "8.72.0.17"; 12 + jdkVersion = "8.0.382"; 13 + hash = 14 + if enableJavaFX then "sha256-mIPCFESU7hy2naYur2jvFBtVn/LZQRcFiyiG61buCYs=" 15 + else "sha256-exWlbyrgBb7aD4daJps9qtFP+hKWkwbMdFR4OFslupY="; 16 + }; 97 17 98 - preFixup = '' 99 - find "$out" -name libfontmanager.so -exec \ 100 - patchelf --add-needed libfontconfig.so {} \; 101 - ''; 102 - 103 - passthru = { 104 - home = zulu; 105 - }; 18 + x86_64-darwin = { 19 + zuluVersion = "8.72.0.17"; 20 + jdkVersion = "8.0.382"; 21 + hash = 22 + if enableJavaFX then "sha256-/x8FqygivzddXsOwIV8aj/u+LPXMmokgu97vLAVEv80=" 23 + else "sha256-3dTPIPGUeT6nb3gncNvEa4VTRyQIBJpp8oZadrT2ToE="; 24 + }; 106 25 107 - meta = with lib; { 108 - homepage = "https://www.azul.com/products/zulu/"; 109 - sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ]; 110 - license = licenses.gpl2; 111 - description = "Certified builds of OpenJDK"; 112 - longDescription = '' 113 - Certified builds of OpenJDK that can be deployed across multiple 114 - operating systems, containers, hypervisors and Cloud platforms. 115 - ''; 116 - maintainers = with maintainers; [ ]; 117 - platforms = [ "x86_64-linux" "x86_64-darwin" ]; 118 - mainProgram = "java"; 26 + aarch64-darwin = { 27 + zuluVersion = "8.72.0.17"; 28 + jdkVersion = "8.0.382"; 29 + hash = 30 + if enableJavaFX then "sha256-FkQ+0MzSZWUzc/HmiDVZEHGOrdKAVCdK5pm9wXXzzaU=" 31 + else "sha256-rN5AI4xAWppE4kJlzMod0JmGyHdHjTXYtx8/wOW6CFk="; 32 + }; 119 33 }; 120 - } 34 + } // builtins.removeAttrs args [ "callPackage" ])
-125
pkgs/development/compilers/zulu/default.nix
··· 1 - { stdenv 2 - , lib 3 - , fetchurl 4 - , autoPatchelfHook 5 - , unzip 6 - , makeWrapper 7 - , setJavaClassPath 8 - , zulu 9 - # minimum dependencies 10 - , alsa-lib 11 - , fontconfig 12 - , freetype 13 - , zlib 14 - , xorg 15 - # runtime dependencies 16 - , cups 17 - # runtime dependencies for GTK+ Look and Feel 18 - , gtkSupport ? stdenv.isLinux 19 - , cairo 20 - , glib 21 - , gtk3 22 - }: 23 - 24 - let 25 - version = "11.62.17"; 26 - openjdk = "11.0.18"; 27 - 28 - sha256_x64_linux = "sha256-b65oEbDzrrsUw+WaX94USBz/QS74yiMiGZPxqzMmmqs="; 29 - sha256_x64_darwin = "sha256-nRRWTWiog8bRblmmPIPE5YibA34St3ZrJpZN91qEDUg="; 30 - sha256_aarch64_darwin = "sha256-TBTrBxOfGo6MV+Md49P3sDfqVG1e+NraqfVbw9WTppk="; 31 - 32 - platform = if stdenv.isDarwin then "macosx" else "linux"; 33 - hash = if stdenv.isAarch64 && stdenv.isDarwin then sha256_aarch64_darwin else if stdenv.isDarwin then sha256_x64_darwin else sha256_x64_linux; 34 - extension = if stdenv.isDarwin then "zip" else "tar.gz"; 35 - architecture = if stdenv.isAarch64 then "aarch64" else "x64"; 36 - 37 - runtimeDependencies = [ 38 - cups 39 - ] ++ lib.optionals gtkSupport [ 40 - cairo glib gtk3 41 - ]; 42 - runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; 43 - 44 - in stdenv.mkDerivation { 45 - inherit version openjdk platform hash extension; 46 - 47 - pname = "zulu"; 48 - 49 - src = fetchurl { 50 - url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_${architecture}.${extension}"; 51 - sha256 = hash; 52 - }; 53 - 54 - buildInputs = lib.optionals stdenv.isLinux [ 55 - alsa-lib # libasound.so wanted by lib/libjsound.so 56 - fontconfig 57 - freetype 58 - stdenv.cc.cc # libstdc++.so.6 59 - xorg.libX11 60 - xorg.libXext 61 - xorg.libXi 62 - xorg.libXrender 63 - xorg.libXtst 64 - zlib 65 - ]; 66 - 67 - nativeBuildInputs = [ 68 - makeWrapper 69 - ] ++ lib.optionals stdenv.isLinux [ 70 - autoPatchelfHook 71 - ] ++ lib.optionals stdenv.isDarwin [ 72 - unzip 73 - ]; 74 - 75 - installPhase = '' 76 - runHook preInstall 77 - 78 - mkdir -p $out 79 - cp -r ./* "$out/" 80 - '' + lib.optionalString stdenv.isLinux '' 81 - # jni.h expects jni_md.h to be in the header search path. 82 - ln -s $out/include/linux/*_md.h $out/include/ 83 - '' + '' 84 - mkdir -p $out/nix-support 85 - printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs 86 - 87 - # Set JAVA_HOME automatically. 88 - cat <<EOF >> $out/nix-support/setup-hook 89 - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi 90 - EOF 91 - '' + lib.optionalString stdenv.isLinux '' 92 - # We cannot use -exec since wrapProgram is a function but not a command. 93 - # 94 - # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it 95 - # breaks building OpenJDK (#114495). 96 - for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do 97 - wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" 98 - done 99 - '' + '' 100 - runHook postInstall 101 - ''; 102 - 103 - preFixup = '' 104 - find "$out" -name libfontmanager.so -exec \ 105 - patchelf --add-needed libfontconfig.so {} \; 106 - ''; 107 - 108 - passthru = { 109 - home = zulu; 110 - }; 111 - 112 - meta = with lib; { 113 - homepage = "https://www.azul.com/products/zulu/"; 114 - sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ]; 115 - license = licenses.gpl2; 116 - description = "Certified builds of OpenJDK"; 117 - longDescription = '' 118 - Certified builds of OpenJDK that can be deployed across multiple 119 - operating systems, containers, hypervisors and Cloud platforms. 120 - ''; 121 - maintainers = with maintainers; [ ]; 122 - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; 123 - mainProgram = "java"; 124 - }; 125 - }
+2 -1
pkgs/top-level/all-packages.nix
··· 17688 17688 zulip-term = callPackage ../applications/networking/instant-messengers/zulip-term { }; 17689 17689 17690 17690 zulu8 = callPackage ../development/compilers/zulu/8.nix { }; 17691 - zulu = callPackage ../development/compilers/zulu { }; 17691 + zulu11 = callPackage ../development/compilers/zulu/11.nix { }; 17692 + zulu = zulu11; 17692 17693 17693 17694 ### DEVELOPMENT / INTERPRETERS 17694 17695
+7 -7
pkgs/top-level/java-packages.nix
··· 141 141 142 142 openjdk8 = mkOpenjdk 143 143 ../development/compilers/openjdk/8.nix 144 - ../development/compilers/openjdk/darwin/8.nix 144 + ../development/compilers/zulu/8.nix 145 145 { }; 146 146 147 147 openjdk11 = mkOpenjdk 148 148 ../development/compilers/openjdk/11.nix 149 - ../development/compilers/openjdk/darwin/11.nix 149 + ../development/compilers/zulu/11.nix 150 150 { openjfx = openjfx11; }; 151 151 152 152 openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix { ··· 172 172 173 173 openjdk16 = mkOpenjdk 174 174 ../development/compilers/openjdk/16.nix 175 - ../development/compilers/openjdk/darwin/16.nix 175 + ../development/compilers/zulu/16.nix 176 176 { 177 177 inherit openjdk16-bootstrap; 178 178 openjfx = openjfx15; ··· 180 180 181 181 openjdk17 = mkOpenjdk 182 182 ../development/compilers/openjdk/17.nix 183 - ../development/compilers/openjdk/darwin/17.nix 183 + ../development/compilers/zulu/17.nix 184 184 { 185 185 inherit openjdk17-bootstrap; 186 186 openjfx = openjfx17; ··· 188 188 189 189 openjdk18 = mkOpenjdk 190 190 ../development/compilers/openjdk/18.nix 191 - ../development/compilers/openjdk/darwin/18.nix 191 + ../development/compilers/zulu/18.nix 192 192 { 193 193 inherit openjdk18-bootstrap; 194 194 openjfx = openjfx17; ··· 196 196 197 197 openjdk19 = mkOpenjdk 198 198 ../development/compilers/openjdk/19.nix 199 - ../development/compilers/openjdk/darwin/19.nix 199 + ../development/compilers/zulu/19.nix 200 200 { 201 201 openjdk19-bootstrap = temurin-bin.jdk-19; 202 202 openjfx = openjfx19; ··· 204 204 205 205 openjdk20 = mkOpenjdk 206 206 ../development/compilers/openjdk/20.nix 207 - ../development/compilers/openjdk/darwin/20.nix 207 + ../development/compilers/zulu/20.nix 208 208 { 209 209 openjdk20-bootstrap = temurin-bin.jdk-20; 210 210 openjfx = openjfx20;