about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/minecraft-servers/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/minecraft-servers/default.nix')
-rw-r--r--nixpkgs/pkgs/games/minecraft-servers/default.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/minecraft-servers/default.nix b/nixpkgs/pkgs/games/minecraft-servers/default.nix
new file mode 100644
index 000000000000..f3d4aad16698
--- /dev/null
+++ b/nixpkgs/pkgs/games/minecraft-servers/default.nix
@@ -0,0 +1,24 @@
+{ 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 value.javaVersion); # versions <= 1.6 will default to 8
+      };
+    })
+    versions;
+in
+lib.recurseIntoAttrs (
+  packages // {
+    vanilla = builtins.getAttr "vanilla-${escapeVersion latestVersion}" packages;
+  }
+)