sdrangel: fix build on x86_64-darwin
[NixPkgs.git] / pkgs / games / openra_2019 / engine.nix
blobd63800be1e292e1e87184875c60558f125fa64dd
1 /*  The package defintion for an OpenRA engine.
2     It shares code with `mod.nix` by what is defined in `common.nix`.
3     Similar to `mod.nix` it is a generic package definition,
4     in order to make it easy to define multiple variants of the OpenRA engine.
5     For each mod provided by the engine, a wrapper script is created,
6     matching the naming convention used by `mod.nix`.
7     This package could be seen as providing a set of in-tree mods,
8     while the `mod.nix` pacakges provide a single out-of-tree mod.
9 */
10 { lib, stdenv
11 , packageAttrs
12 , patchEngine
13 , wrapLaunchGame
14 , engine
17 stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec {
18   pname = "openra_2019";
19   version = "${engine.name}-${engine.version}";
21   src = engine.src;
23   postPatch = patchEngine "." version;
25   configurePhase = ''
26     runHook preConfigure
28     make version VERSION=${lib.escapeShellArg version}
30     runHook postConfigure
31   '';
33   buildFlags = [ "DEBUG=false" "default" "man-page" ];
35   checkTarget = "nunit test";
37   installTargets = [
38     "install"
39     "install-linux-icons"
40     "install-linux-desktop"
41     "install-linux-appdata"
42     "install-linux-mime"
43     "install-man-page"
44   ];
46   postInstall = ''
47     ${wrapLaunchGame "" "openra"}
49     ${lib.concatStrings (map (mod: ''
50       makeWrapper $out/bin/openra $out/bin/openra-${mod} --add-flags Game.Mod=${mod}
51     '') engine.mods)}
52   '';
54   meta = {
55     inherit (engine) description homepage;
56   };