anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / games / quake2 / yquake2 / games.nix
blobaca5ffb5e3f55639b5346f98ecb812e9b3ae9c1a
1 { stdenv, lib, fetchFromGitHub }:
3 let
4   games = {
5     ctf = {
6       id = "ctf";
7       version = "1.07";
8       description = "'Capture The Flag' for Yamagi Quake II";
9       sha256 = "0i9bwhjvq6yhalrsbzjambh27fdzrzgswqz3jgfn9qw6k1kjvlin";
10     };
12     ground-zero = {
13       id = "rogue";
14       version = "2.07";
15       description = "'Ground Zero' for Yamagi Quake II";
16       sha256 = "1m2r4vgfdxpsi0lkf32liwf1433mdhhmjxiicjwzqjlkncjyfcb1";
17     };
19     the-reckoning = {
20       id = "xatrix";
21       version = "2.08";
22       description = "'The Reckoning' for Yamagi Quake II";
23       sha256 = "1wp9fg1q8nly2r9hh4394r1h4dxyni3lvdy7g419cz5s8hhn5msr";
24     };
25   };
27   toDrv = title: data: stdenv.mkDerivation rec {
28     inherit (data) id version description sha256;
29     inherit title;
31     pname = "yquake2-${title}";
33     src = fetchFromGitHub {
34       inherit sha256;
35       owner = "yquake2";
36       repo = data.id;
37       rev = "${lib.toUpper id}_${builtins.replaceStrings ["."] ["_"] version}";
38     };
40     installPhase = ''
41       runHook preInstall
42       mkdir -p $out/lib/yquake2/${id}
43       cp release/* $out/lib/yquake2/${id}
44       runHook postInstall
45     '';
47     meta = with lib; {
48       inherit (data) description;
49       homepage = "https://www.yamagi.org/quake2/";
50       license = licenses.unfree;
51       platforms = platforms.unix;
52       maintainers = with maintainers; [ tadfisher ];
53     };
54   };
57   lib.mapAttrs toDrv games