{ buildEnv, callPackage, makeWrapper }: let sp = callPackage ./sp.nix {}; mp = sp.overrideAttrs (oldAttrs: { sourceRoot = "${oldAttrs.src.name}/MP"; }); in buildEnv { name = "iortcw"; paths = [ sp mp ]; pathsToLink = [ "/opt" ]; nativeBuildInputs = [ makeWrapper ]; # so we can launch sp from mp game and vice versa postBuild = '' for i in `find -L $out/opt/iortcw -maxdepth 1 -type f -executable`; do makeWrapper $i $out/bin/`basename $i` --chdir "$out/opt/iortcw" done ''; meta = sp.meta // { description = "Game engine for Return to Castle Wolfenstein"; }; }