···1-{ callPackage, lib }:
2# if you add more versions make sure to add to all-packages.nix
3let
4 versions = lib.importJSON ./versions.json;
05 latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
6 escapeVersion = builtins.replaceStrings [ "." ] [ "_" ];
0078 packages = lib.mapAttrs'
9 (version: value: {
10 name = "minecraft-server_${escapeVersion version}";
11- value = callPackage ./derivation.nix { inherit (value) version url sha1; };
00012 })
13 versions;
14in
···1+{ callPackage, lib, javaPackages }:
2# if you add more versions make sure to add to all-packages.nix
3let
4 versions = lib.importJSON ./versions.json;
5+6 latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
7 escapeVersion = builtins.replaceStrings [ "." ] [ "_" ];
8+9+ getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" javaPackages.compiler).headless;
1011 packages = lib.mapAttrs'
12 (version: value: {
13 name = "minecraft-server_${escapeVersion version}";
14+ value = callPackage ./derivation.nix {
15+ inherit (value) version url sha1;
16+ jre_headless = getJavaVersion (if value.javaVersion == null then 8 else value.javaVersion); # versions <= 1.6 will default to 8
17+ };
18 })
19 versions;
20in
+8
pkgs/games/minecraft-server/update.py
···55 for download_name, download_info in self.get_manifest()["downloads"].items()
56 }
57000000058 def get_server(self) -> Optional[Download]:
59 """
60 If the version has a server download available, return the Download
···138139 for version, server in servers.items():
140 server["version"] = latest_major_releases[version].id
0141 return servers
142143
···55 for download_name, download_info in self.get_manifest()["downloads"].items()
56 }
5758+ def get_java_version(self) -> Any:
59+ """
60+ Return the java version specified in a version's manifest, if it is
61+ present. Versions <= 1.6 do not specify this.
62+ """
63+ return self.get_manifest().get("javaVersion", {}).get("majorVersion", None)
64+65 def get_server(self) -> Optional[Download]:
66 """
67 If the version has a server download available, return the Download
···145146 for version, server in servers.items():
147 server["version"] = latest_major_releases[version].id
148+ server["javaVersion"] = latest_major_releases[version].get_java_version()
149 return servers
150151