summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/steam/default.nix29
1 files changed, 23 insertions, 6 deletions
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index ab98c099d9f..46031063e08 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -41,23 +41,40 @@ stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${glibc215}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib
     STEAMBOOTSTRAP=\$HOME/.steam/steam/steam.sh
     if [ -f \$STEAMBOOTSTRAP ]; then
+      PLATFORM32=ubuntu12_32
       STEAMCONFIG=~/.steam
-      STEAMROOT="\$STEAMCONFIG/steam"
-      STEAMBINDIR="\$STEAMROOT/ubuntu12_32"
+      STEAMROOT=~/.local/share/Steam
+      STEAMDATA="\$STEAMROOT"
       PIDFILE="\$STEAMCONFIG/steam.pid"
-      STEAMRUNCMD="\$STEAMCONFIG/runcmd"
       STEAMBIN32LINK="\$STEAMCONFIG/bin32"
       STEAMBIN64LINK="\$STEAMCONFIG/bin64"
+      STEAMSDK32LINK="\$STEAMCONFIG/sdk32"
+      STEAMSDK64LINK="\$STEAMCONFIG/sdk64"
       STEAMROOTLINK="\$STEAMCONFIG/root"
+      STEAMDATALINK="\$STEAMCONFIG/steam"
       STEAMSTARTING="\$STEAMCONFIG/starting"
-      export LD_LIBRARY_PATH="\$STEAMBINDIR:\$LD_LIBRARY_PATH:${mesa}/lib"
+      # Create symbolic links for the Steam API
+      if [ ! -e "\$STEAMCONFIG" ]; then
+          mkdir "\$STEAMCONFIG"
+      fi
+      #if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then
+          rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK"
+          rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK"
+          rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK"
+          rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK"
+          rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK"
+          if [ "\$STEAMDATALINK" ]; then
+              rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK"
+          fi
+      #fi
+      export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib"
       export SDL_VIDEO_X11_DGAMOUSE=0
       cd "\$STEAMROOT"
-      LDSO="\$STEAMBINDIR/ld.so"
+      LDSO="\$STEAMBIN32LINK/ld.so"
       cp ${glibc215}/lib/ld-linux.so.2 "\$LDSO"
       chmod u+w "\$LDSO"
       echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam
-      exec "\$LDSO" "\$STEAMBINDIR/steam"
+      exec "\$LDSO" "\$STEAMBIN32LINK/steam"
     else
       export PATH=${xz}/bin:\$PATH
       exec $out/bin/.steam-wrapped