--- /dev/null
+{ fetchgit, runCommand, callPackage, mylibs, nodePackages, nodejs, git }:
+let
+ source = fetchgit {
+ url = "https://github.com/bafolts/terraforming-mars";
+ rev = "25b3f80e276cc0c1fc283a78b6ae94b13c545ab6";
+ sha256 = "03xcwvxv2mlmswngklzqp3lf30hgkvdilqq7p1z4h8xmy50cy12k";
+ leaveDotGit = true;
+ fetchSubmodules = true;
+ };
+ patchedSource = runCommand "patch-source" {} ''
+ cp -r ${source} $out
+ chmod -R u+w $out
+ sed -i -e 's/"lockfileVersion": 2,/"lockfileVersion": 1,/' $out/package-lock.json
+ '';
+ packages = callPackage ./node-packages.nix {
+ src = patchedSource;
+ nodeEnv = callPackage mylibs.nodeEnv {};
+ globalBuildInputs = [ nodePackages.node-pre-gyp ];
+ };
+ terraforming-mars = runCommand "terraforming-mars" {
+ buildInputs = [ nodejs git ];
+ } ''
+ cp -r ${source} ./source
+ chmod -R u+w source
+ cd source
+ ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules .
+ npm run build
+ mkdir $out
+ cp -a build $out/
+ cp -a assets $out/
+ cp package.json $out/
+ ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules $out
+ ln -s /var/lib/terraforming-mars/db $out/db
+ '';
+in
+ terraforming-mars