pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / cataclysm-dda / builder.nix
blob24128875f3a1835a608e0731cbc0affdbee3f472
1 { stdenvNoCC, lib, type }:
3 assert lib.elem type [
4   "mod"
5   "soundpack"
6   "tileset"
7 ];
9 { modName, version, src, ... } @ args:
11 stdenvNoCC.mkDerivation (args // rec {
12   pname = args.pname or "cataclysm-dda-${type}-${modName}";
14   modRoot = args.modRoot or ".";
16   configurePhase = args.configurePhase or ''
17     runHook preConfigure
18     runHook postConfigure
19   '';
21   buildPhase = args.buildPhase or ''
22     runHook preBuild
23     runHook postBuild
24   '';
26   checkPhase = args.checkPhase or ''
27     runHook preCheck
28     runHook postCheck
29   '';
31   installPhase = let
32     baseDir = {
33       mod = "mods";
34       soundpack = "sound";
35       tileset = "gfx";
36     }.${type};
37   in args.installPhase or ''
38     runHook preInstall
39     destdir="$out/share/cataclysm-dda/${baseDir}"
40     mkdir -p "$destdir"
41     cp -R "${modRoot}" "$destdir/${modName}"
42     runHook postInstall
43   '';
45   passthru = {
46     forTiles = true;
47     forCurses = type == "mod";
48   };