depot/third_party/nixpkgs/pkgs/games/papermc/default.nix

18 lines
572 B
Nix

let
versions = builtins.fromJSON (builtins.readFile ./versions.json);
in
{ callPackage, lib, ... }:
let
latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
escapeVersion = builtins.replaceStrings [ "." ] [ "_" ];
packages = lib.mapAttrs' (version: value: {
name = "papermc-${escapeVersion version}";
value = callPackage ./derivation.nix { inherit (value) version hash; };
}) versions;
in
lib.recurseIntoAttrs (
packages
// {
papermc = builtins.getAttr "papermc-${escapeVersion latestVersion}" packages;
}
)