From 7f01ff7eae4e75d80d327bc2887821f36ea83f44 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 22 Sep 2018 05:09:03 +0200 Subject: 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 Cc: @Profpatsch --- pkgs/games/gog/crosscode.nix | 29 +++++++++++++++++++++++++++++ pkgs/games/gog/default.nix | 1 + 2 files changed, 30 insertions(+) create mode 100644 pkgs/games/gog/crosscode.nix (limited to 'pkgs/games') 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 {}; -- cgit 1.4.1