about summary refs log tree commit diff
path: root/pkgs/games/build-support
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/build-support')
-rw-r--r--pkgs/games/build-support/build-game.nix11
1 files changed, 5 insertions, 6 deletions
diff --git a/pkgs/games/build-support/build-game.nix b/pkgs/games/build-support/build-game.nix
index ea97d72a..b06537c5 100644
--- a/pkgs/games/build-support/build-game.nix
+++ b/pkgs/games/build-support/build-game.nix
@@ -30,12 +30,11 @@ buildSandbox (stdenv.mkDerivation ({
   setSourceRoot = ''
     popd &> /dev/null
   '' + lib.optionalString (setSourceRoot == "") ''
-    unpackedFiles="$(find "$name" -mindepth 1 -maxdepth 1 -print)"
-    if [ $(echo "$unpackedFiles" | wc -l) -gt 1 ]; then
-      sourceRoot="$name"
-    else
-      sourceRoot="$name/''${unpackedFiles##*/}"
-    fi
+    sourceRoot="$(find "$name" -type d -exec sh -c '
+      ndirs="$(find "$1" -mindepth 1 -maxdepth 1 -type d -printf x | wc -m)"
+      nelse="$(find "$1" -mindepth 1 -maxdepth 1 ! -type d -printf x | wc -m)"
+      ! [ "$ndirs" -eq 1 -a "$nelse" -eq 0 ]
+    ' -- {} \; -print -quit)"
   '';
 
   runtimeDependencies = let