34 lines
907 B
Nix
34 lines
907 B
Nix
{
|
|
callPackage,
|
|
lib,
|
|
javaPackages,
|
|
}:
|
|
let
|
|
versions = lib.importJSON ./versions.json;
|
|
|
|
latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
|
|
escapeVersion = builtins.replaceStrings [ "." ] [ "-" ];
|
|
|
|
getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" javaPackages.compiler).headless;
|
|
|
|
packages = lib.mapAttrs' (version: value: {
|
|
name = "vanilla-${escapeVersion version}";
|
|
value = callPackage ./derivation.nix {
|
|
inherit (value) version url sha1;
|
|
jre_headless = getJavaVersion (
|
|
if value.javaVersion == null then
|
|
8
|
|
else if value.javaVersion == 16 then
|
|
17
|
|
else
|
|
value.javaVersion
|
|
); # versions <= 1.6 will default to 8
|
|
};
|
|
}) versions;
|
|
in
|
|
lib.recurseIntoAttrs (
|
|
packages
|
|
// {
|
|
vanilla = builtins.getAttr "vanilla-${escapeVersion latestVersion}" packages;
|
|
}
|
|
)
|