|
18 | 18 | (final: prev: |
19 | 19 | let |
20 | 20 | base = rec { |
21 | | - jdk = if javaVersion < 21 then prev."jdk${toString javaVersion}" else jdk21-ea; |
22 | | - maven = prev.maven.override { inherit jdk; }; |
| 21 | + jdk = prev."jdk${toString javaVersion}"; |
| 22 | + maven = prev.maven.override { jdk_headless = jdk; }; |
23 | 23 | }; |
24 | 24 | in |
25 | 25 | base) |
26 | 26 | ]; |
27 | 27 | }; |
28 | | - jdk21-ea = pkgs.stdenv.mkDerivation rec { |
29 | | - name = "jdk21-oracle"; |
30 | | - version = "21+35"; |
31 | | - src = builtins.fetchTarball { |
32 | | - url = "https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz"; |
33 | | - sha256 = "sha256:0g3vf0kcpciixfv1kvgbk685h6cfn1s0cx2di4rhl3r7xlal217w"; |
34 | | - }; |
35 | | - installPhase = '' |
36 | | - cd .. |
37 | | - mv $sourceRoot $out |
38 | | - ''; |
39 | | - }; |
40 | 28 | semver = pkgs.buildGoModule rec { |
41 | 29 | name = "semver"; |
42 | | - version = "2.1.0"; |
| 30 | + version = "2.11.0"; |
43 | 31 |
|
44 | | - vendorHash = "sha256-HKqZbgP7vqDJMaHUbSqfSOnBYwzOtIr9o2v/T9S+uNg="; |
| 32 | + vendorHash = "sha256-7xs+6gqy4WeP1L2VthZJ3IOYRKMWbpKdAQn6lu4Z5g0="; |
45 | 33 | subPackages = [ "cmd/semver" ]; |
46 | 34 |
|
47 | 35 | src = pkgs.fetchFromGitHub { |
48 | 36 | owner = "ffurrer2"; |
49 | 37 | repo = "semver"; |
50 | 38 | rev = "v${version}"; |
51 | | - sha256 = "sha256-i/XPA2Hr2puJFKupIeBUE/yFPJxSeVsDWcz1OepxIcU="; |
52 | | - }; |
53 | | - }; |
54 | | - jreleaser = pkgs.stdenv.mkDerivation rec { |
55 | | - pname = "jreleaser-cli"; |
56 | | - version = "1.7.0"; |
57 | | - |
58 | | - src = pkgs.fetchurl { |
59 | | - url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar"; |
60 | | - sha256 = "sha256-gr1IWisuep00xyoZWKXtHymWkQjbDhlk6+UC16bKXu0="; |
| 39 | + sha256 = "sha256-BAONscuPUqfzEwDuyIqZroArEMnE6HmCfT9NTZ1LuXo="; |
61 | 40 | }; |
62 | | - |
63 | | - nativeBuildInputs = with pkgs; [ makeWrapper ]; |
64 | | - |
65 | | - dontUnpack = true; |
66 | | - |
67 | | - installPhase = '' |
68 | | - mkdir -p $out/share/java/ $out/bin/ |
69 | | - cp $src $out/share/java/${pname}.jar |
70 | | - makeWrapper ${pkgs.jdk}/bin/java $out/bin/${pname} \ |
71 | | - --add-flags "-jar $out/share/java/${pname}.jar" |
72 | | - ''; |
73 | 41 | }; |
74 | 42 | in |
75 | 43 | pkgs.mkShell rec { |
|
82 | 50 | ''; |
83 | 51 | packages = with pkgs; |
84 | 52 | [ jdk maven test ] |
85 | | - ++ (if release then [ semver jreleaser ] else [ ]); |
| 53 | + ++ (if release then [ semver pkgs.jreleaser-cli ] else [ ]); |
86 | 54 | }; |
87 | 55 | in |
88 | 56 | { |
89 | | - devShells = |
90 | | - let |
91 | | - # We have additional options (currently EA jdks) on 64 bit linux systems |
92 | | - blessedSystem = "x86_64-linux"; |
93 | | - blessed = { jdk21-ea = mkShell blessedSystem { javaVersion = 21; }; }; |
94 | | - common = forAllSystems |
95 | | - (system: |
96 | | - rec { |
97 | | - default = jdk20; |
98 | | - jdk20 = mkShell system { javaVersion = 20; }; |
99 | | - jdk17 = mkShell system { javaVersion = 17; }; |
100 | | - jdk11 = mkShell system { javaVersion = 11; }; |
101 | | - jReleaser = mkShell system { release = true; javaVersion = 11; }; |
102 | | - }); |
103 | | - in |
104 | | - common // { "${blessedSystem}" = common."${blessedSystem}" // blessed; }; |
| 57 | + devShells = forAllSystems (system: |
| 58 | + rec { |
| 59 | + default = jdk21; |
| 60 | + jdk24 = mkShell system { javaVersion = 24; }; |
| 61 | + jdk21 = mkShell system { javaVersion = 21; }; |
| 62 | + jdk17 = mkShell system { javaVersion = 17; }; |
| 63 | + jdk11 = mkShell system { javaVersion = 11; }; |
| 64 | + jReleaser = mkShell system { release = true; javaVersion = 21; }; |
| 65 | + } |
| 66 | + ); |
105 | 67 | }; |
106 | 68 | } |
0 commit comments