about summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-05-26 14:33:18 +0300
committerNikolay Amiantov <ab@fmap.me>2016-05-26 14:40:09 +0300
commitff0995707df9521074e5d7bbf42a0f4a5b8e07fe (patch)
treee2e3ccf876d30f5ace7b69bfe22d87e7122b2790 /pkgs/games
parent1ab408e1dadab986818d23d748fb920e28deba52 (diff)
downloadnixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar.gz
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar.bz2
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar.lz
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar.xz
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.tar.zst
nixlib-ff0995707df9521074e5d7bbf42a0f4a5b8e07fe.zip
steam-run: refactor, remove unneeded files and dependencies
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/steam/chrootenv.nix153
1 files changed, 78 insertions, 75 deletions
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 7a4fd611b1b4..ba163ebc3d29 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -8,90 +8,93 @@
 }:
 
 let
-  self = {
-    name = "steam";
+  commonTargetPkgs = pkgs: with pkgs; [
+    steamPackages.steam-fonts
+    # Errors in output without those
+    pciutils
+    python2
+    # Games' dependencies
+    xlibs.xrandr
+    which
+    # Needed by gdialog, including in the steam-runtime
+    perl
+    # Open URLs
+    xdg_utils
+  ];
 
-    targetPkgs = pkgs: with pkgs; [
-      steamPackages.steam
-      steamPackages.steam-fonts
-      # License agreement
-      gnome3.zenity
-      # Errors in output without those
-      pciutils
-      python2
-      # Games' dependencies
-      xlibs.xrandr
-      which
-      # Needed by gdialog, including in the steam-runtime
-      perl
-      # Open URLs
-      xdg_utils
-    ] ++ lib.optional withJava jdk
-      ++ lib.optional withPrimus (primus.override {
-           stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
-           stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ];
-         });
+in buildFHSUserEnv rec {
+  name = "steam";
 
-    multiPkgs = pkgs: with pkgs; [
-      # These are required by steam with proper errors
-      xlibs.libXcomposite
-      xlibs.libXtst
-      xlibs.libXrandr
-      xlibs.libXext
-      xlibs.libX11
-      xlibs.libXfixes
+  targetPkgs = pkgs: with pkgs; [
+    steamPackages.steam
+    # License agreement
+    gnome3.zenity
+  ] ++ commonTargetPkgs pkgs
+    ++ lib.optional withJava jdk
+    ++ lib.optional withPrimus (primus.override {
+         stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
+         stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ];
+       });
 
-      # Not formally in runtime but needed by some games
-      gst_all_1.gstreamer
-      gst_all_1.gst-plugins-ugly
-      libdrm
+  multiPkgs = pkgs: with pkgs; [
+    # These are required by steam with proper errors
+    xlibs.libXcomposite
+    xlibs.libXtst
+    xlibs.libXrandr
+    xlibs.libXext
+    xlibs.libX11
+    xlibs.libXfixes
 
-      (steamPackages.steam-runtime-wrapped.override {
-        inherit nativeOnly runtimeOnly newStdcpp;
-      })
-    ];
+    # Not formally in runtime but needed by some games
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-ugly
+    libdrm
 
-    extraBuildCommands = ''
-      mkdir -p steamrt
-      ln -s ../lib/steam-runtime steamrt/${steam-runtime.arch}
-      ${lib.optionalString (steam-runtime-i686 != null) ''
-        ln -s ../lib32/steam-runtime steamrt/${steam-runtime-i686.arch}
-      ''}
-    '';
+    (steamPackages.steam-runtime-wrapped.override {
+      inherit nativeOnly runtimeOnly newStdcpp;
+    })
+  ];
 
-    extraInstallCommands = ''
-      mkdir -p $out/share/applications
-      ln -s ${steam}/share/icons $out/share
-      ln -s ${steam}/share/pixmaps $out/share
-      sed "s,/usr/bin/steam,$out/bin/steam,g" ${steam}/share/applications/steam.desktop > $out/share/applications/steam.desktop
-    '';
+  extraBuildCommands = ''
+    mkdir -p steamrt
+    ln -s ../lib/steam-runtime steamrt/${steam-runtime.arch}
+    ${lib.optionalString (steam-runtime-i686 != null) ''
+      ln -s ../lib32/steam-runtime steamrt/${steam-runtime-i686.arch}
+    ''}
+  '';
 
-    profile = ''
-      export STEAM_RUNTIME=/steamrt
-    '';
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications
+    ln -s ${steam}/share/icons $out/share
+    ln -s ${steam}/share/pixmaps $out/share
+    sed "s,/usr/bin/steam,$out/bin/steam,g" ${steam}/share/applications/steam.desktop > $out/share/applications/steam.desktop
+  '';
 
-    runScript = "steam";
+  profile = ''
+    export STEAM_RUNTIME=/steamrt
+  '';
 
-    passthru.run = buildFHSUserEnv (self // {
-      name = "steam-run";
+  runScript = "steam";
 
-      runScript =
-        let ldPath = map (x: "/steamrt/${steam-runtime.arch}/" + x) steam-runtime.libs
-                   ++ lib.optionals (steam-runtime-i686 != null) (map (x: "/steamrt/${steam-runtime-i686.arch}/" + x) steam-runtime-i686.libs);
-        in writeScript "steam-run" ''
-          #!${stdenv.shell}
-          run="$1"
-          if [ "$run" = "" ]; then
-            echo "Usage: steam-run command-to-run args..." >&2
-            exit 1
-          fi
-          shift
-          export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
-          exec "$run" "$@"
-        '';
+  passthru.run = buildFHSUserEnv {
+    name = "steam-run";
 
-      passthru = {};
-    });
-  };
+    targetPkgs = commonTargetPkgs;
+    inherit multiPkgs extraBuildCommands;
 
-in buildFHSUserEnv self
+    runScript =
+      let ldPath = map (x: "/steamrt/${steam-runtime.arch}/" + x) steam-runtime.libs
+                 ++ lib.optionals (steam-runtime-i686 != null) (map (x: "/steamrt/${steam-runtime-i686.arch}/" + x) steam-runtime-i686.libs);
+      in writeScript "steam-run" ''
+        #!${stdenv.shell}
+        run="$1"
+        if [ "$run" = "" ]; then
+          echo "Usage: steam-run command-to-run args..." >&2
+          exit 1
+        fi
+        shift
+        export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
+        exec "$run" "$@"
+      '';
+  };
+}