diff options
author | aszlig <aszlig@nix.build> | 2018-09-22 05:09:03 +0200 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2018-09-22 05:27:23 +0200 |
commit | 7f01ff7eae4e75d80d327bc2887821f36ea83f44 (patch) | |
tree | 2abe1d7aae7d29f12c0aebc25c771907be5ceb6a | |
parent | 21762297a4072b5a25f2d528d5839633fa396133 (diff) |
games/gog: Add CrossCode
Packaging is pretty straightforward because the game is written in JS, so only the assets need to be copied along with wrapper for NW.js pointing to the directory and we're done. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
-rw-r--r-- | pkgs/games/gog/crosscode.nix | 29 | ||||
-rw-r--r-- | pkgs/games/gog/default.nix | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/games/gog/crosscode.nix b/pkgs/games/gog/crosscode.nix new file mode 100644 index 00000000..dfee7f4b --- /dev/null +++ b/pkgs/games/gog/crosscode.nix @@ -0,0 +1,29 @@ +{ lib, buildGame, fetchGog, makeWrapper, nwjs }: + +buildGame rec { + name = "crosscode-${version}"; + version = "1.0"; + + src = fetchGog { + productId = 1252295864; + downloadName = "en3installer0"; + sha256 = "07gfnwiixnfz6a5rf7imcc97jsrpbpdc29azd5rdl6n4jqq2bc8n"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + buildPhase = '' + substituteInPlace package.json --replace assets/ "" + ''; + + installPhase = '' + mkdir -p "$out/share" "$out/bin" + cp -r assets "$out/share/crosscode" + install -vD -m 0644 package.json "$out/share/crosscode/package.json" + + makeWrapper ${lib.escapeShellArg "${nwjs}/bin/nw"} "$out/bin/crosscode" \ + --run "cd '$out/share/crosscode'" --add-flags . + ''; + + sandbox.paths.required = [ "$XDG_CONFIG_HOME/CrossCode" ]; +} diff --git a/pkgs/games/gog/default.nix b/pkgs/games/gog/default.nix index e750ce7b..964fd054 100644 --- a/pkgs/games/gog/default.nix +++ b/pkgs/games/gog/default.nix @@ -12,6 +12,7 @@ let }; albion = callPackage_i686 ./albion {}; + crosscode = callPackage ./crosscode.nix {}; dungeons3 = callPackage ./dungeons3.nix {}; overload = callPackage ./overload.nix {}; party-hard = callPackage ./party-hard.nix {}; |