summaryrefslogtreecommitdiffstats
path: root/pkgs/games/openra_2019/engines.nix
blob: a061fb965087a2ed88553a22e225b383f1a02229 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
  buildOpenRAEngine,
  fetchFromGitHub,
  postFetch,
}:

let
  buildUpstreamOpenRAEngine =
    {
      version,
      rev,
      sha256,
    }:
    name:
    (buildOpenRAEngine {
      inherit version;
      meta = {
        description = "Open-source re-implementation of Westwood Studios' 2D Command and Conquer games";
        homepage = "https://www.openra.net/";
      };
      mods = [
        "cnc"
        "d2k"
        "ra"
        "ts"
      ];
      src = fetchFromGitHub {
        owner = "OpenRA";
        repo = "OpenRA";
        inherit rev sha256 postFetch;
      };
    } name).overrideAttrs
      (origAttrs: {
        postInstall = ''
          ${origAttrs.postInstall}
          cp -r mods/ts $out/lib/openra/mods/
          cp mods/ts/icon.png $(mkdirp $out/share/pixmaps)/openra-ts.png
          ( cd $out/share/applications; sed -e 's/Dawn/Sun/g' -e 's/cnc/ts/g' openra-cnc.desktop > openra-ts.desktop )
        '';
      });

in
{
  release =
    name:
    (buildUpstreamOpenRAEngine rec {
      version = "20190314";
      rev = "${name}-${version}";
      sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr";
    } name);

  playtest =
    name:
    (buildUpstreamOpenRAEngine rec {
      version = "20190302";
      rev = "${name}-${version}";
      sha256 = "1vqvfk2p2lpk3m0d3rpvj34i8cmk3mfc7w4cn4llqd9zp4kk9pya";
    } name);

  bleed = buildUpstreamOpenRAEngine {
    version = "8ee1102";
    rev = "8ee11028d72cde7556b31d45f556b40be65b4b70";
    sha256 = "0f1fpf37ms8d7fhlh3rjzsxsk9w23iyi3phs2i7g561292d5rk3l";
  };
}