]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/websites/tools/games/terraforming-mars/terraforming-mars.nix
Add Terraforming-mars game
[perso/Immae/Config/Nix.git] / modules / private / websites / tools / games / terraforming-mars / terraforming-mars.nix
1 { fetchgit, runCommand, callPackage, mylibs, nodePackages, nodejs, git }:
2 let
3 source = fetchgit {
4 url = "https://github.com/bafolts/terraforming-mars";
5 rev = "25b3f80e276cc0c1fc283a78b6ae94b13c545ab6";
6 sha256 = "03xcwvxv2mlmswngklzqp3lf30hgkvdilqq7p1z4h8xmy50cy12k";
7 leaveDotGit = true;
8 fetchSubmodules = true;
9 };
10 patchedSource = runCommand "patch-source" {} ''
11 cp -r ${source} $out
12 chmod -R u+w $out
13 sed -i -e 's/"lockfileVersion": 2,/"lockfileVersion": 1,/' $out/package-lock.json
14 '';
15 packages = callPackage ./node-packages.nix {
16 src = patchedSource;
17 nodeEnv = callPackage mylibs.nodeEnv {};
18 globalBuildInputs = [ nodePackages.node-pre-gyp ];
19 };
20 terraforming-mars = runCommand "terraforming-mars" {
21 buildInputs = [ nodejs git ];
22 } ''
23 cp -r ${source} ./source
24 chmod -R u+w source
25 cd source
26 ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules .
27 npm run build
28 mkdir $out
29 cp -a build $out/
30 cp -a assets $out/
31 cp package.json $out/
32 ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules $out
33 ln -s /var/lib/terraforming-mars/db $out/db
34 '';
35 in
36 terraforming-mars