summary refs log tree commit diff
path: root/pkgs/games/steam/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/steam/default.nix')
-rw-r--r--pkgs/games/steam/default.nix127
1 files changed, 22 insertions, 105 deletions
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index c1273e9a20f..0478e208da2 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -1,121 +1,38 @@
-/*{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc
-, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk
-, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib
-, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio
-, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext
-, dbus_glib, libusb1, networkmanager
-, SDL # World of Goo
-, libvorbis # Osmos
-, curl, mesa # Superbrothers: S&S EP
-, patchelf }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
-let version = "1.0.0.39"; in
+{stdenv, fetchurl, traceDeps ? false}:
 
 stdenv.mkDerivation rec {
-  name = "steam-${version}";
+  name = "${program}-${version}";
+  program = "steam";
+  version = "1.0.0.49";
 
   src = fetchurl {
-    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb";
-    sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk";
+    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/${program}_${version}.tar.gz";
+    sha256 = "1c1gl5pwvb5gnnnqf5d9hpcjnfjjgmn4lgx8v0fbx1am5xf3p2gx";
   };
 
-  buildInputs = [ dpkg makeWrapper ];
-
-  phases = "installPhase";
+  traceLog = "/tmp/steam-trace-dependencies.log";
 
   installPhase = ''
-    mkdir -p $out
-    dpkg-deb -x $src $out
-    cp -r $out/usr/* $out/
-    rm -rf $out/usr
-    substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh"
-    substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/"
-    sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam
-    sed -i '/STEAMSCRIPT/d' $out/bin/steam
-
-    mv $out/bin/steam $out/bin/.steam-wrapped
-    cat > $out/bin/steam << EOF
-
-    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/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:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib
-    STEAMBOOTSTRAP=~/.steam/steam/steam.sh
-    if [ -f \$STEAMBOOTSTRAP ]; then
-      PLATFORM32=ubuntu12_32
-      STEAMCONFIG=~/.steam
-      STEAMROOT=~/.local/share/Steam
-      STEAMDATA="\$STEAMROOT"
-      PIDFILE="\$STEAMCONFIG/steam.pid"
-      STEAMBIN32LINK="\$STEAMCONFIG/bin32"
-      STEAMBIN64LINK="\$STEAMCONFIG/bin64"
-      STEAMSDK32LINK="\$STEAMCONFIG/sdk32"
-      STEAMSDK64LINK="\$STEAMCONFIG/sdk64"
-      STEAMROOTLINK="\$STEAMCONFIG/root"
-      STEAMDATALINK="\$STEAMCONFIG/steam"
-      STEAMSTARTING="\$STEAMCONFIG/starting"
-      # 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
-      # Temporary bandaid until everyone has the new libsteam_api.so
-      rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath
-      rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid
-      rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin
-      export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib"
-      export SDL_VIDEO_X11_DGAMOUSE=0
-      cd "\$STEAMROOT"
-      FLASHLINK="\$STEAMCONFIG/bin32/plugins"
-      rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK"
-      LDSO="\$STEAMBIN32LINK/ld.so"
-      cp ${glibc}/lib/ld-linux.so.2 "\$LDSO"
-      chmod u+w "\$LDSO"
-      echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam
-      export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib
-      exec "\$LDSO" "\$STEAMBIN32LINK/steam"
-    else
-      export PATH=${xz}/bin:\$PATH
-      exec $out/bin/.steam-wrapped
-    fi
-    EOF
-
-    chmod +x $out/bin/steam
-  '';
-
-  meta = {
-    description = "A digital distribution platform";
-    homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
-  };
-}
-*/
-
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "steam-1.0.0.48";
-  src = fetchurl {
-    url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz;
-    sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52";
-  };
-  installPhase = ''
     make DESTDIR=$out install
     mv $out/usr/* $out #*/
     rmdir $out/usr
+
+    rm $out/bin/steamdeps
+    ${stdenv.lib.optionalString traceDeps ''
+      cat > $out/bin/steamdeps <<EOF
+      #! /bin/bash
+      echo \$1 >> ${traceLog}
+      cat \$1 >> ${traceLog}
+      echo >> ${traceLog}
+      EOF
+      chmod +x $out/bin/steamdeps
+    ''}
   '';
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jagajaga ];
   };
 }