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.
17 stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec {
18 pname = "openra_2019";
19 version = "${engine.name}-${engine.version}";
23 postPatch = patchEngine "." version;
28 make version VERSION=${lib.escapeShellArg version}
33 buildFlags = [ "DEBUG=false" "default" "man-page" ];
35 checkTarget = "nunit test";
40 "install-linux-desktop"
41 "install-linux-appdata"
47 ${wrapLaunchGame "" "openra"}
49 ${lib.concatStrings (map (mod: ''
50 makeWrapper $out/bin/openra $out/bin/openra-${mod} --add-flags Game.Mod=${mod}
55 inherit (engine) description homepage;