steam: use native libraries, disable steam-runtime

This commit is contained in:
Nikolay Amiantov 2015-06-12 02:01:23 +03:00
parent 6cb8e04a5c
commit a3ef4b930e

View File

@ -5,15 +5,11 @@ buildFHSUserEnv {
targetPkgs = pkgs: targetPkgs = pkgs:
[ pkgs.steam-original [ pkgs.steam-original
pkgs.corefonts # Errors in output without those
pkgs.curl pkgs.pciutils
pkgs.dbus pkgs.python2
pkgs.dpkg # Games' dependencies
pkgs.mono pkgs.xlibs.xrandr
pkgs.python
pkgs.gnome2.zenity
pkgs.xdg_utils
pkgs.xorg.xrandr
pkgs.which pkgs.which
] ]
++ lib.optional (config.steam.java or false) pkgs.jdk ++ lib.optional (config.steam.java or false) pkgs.jdk
@ -21,59 +17,102 @@ buildFHSUserEnv {
; ;
multiPkgs = pkgs: multiPkgs = pkgs:
[ pkgs.cairo [ # These are required by steam with proper errors
pkgs.xlibs.libXcomposite
pkgs.xlibs.libXtst
pkgs.xlibs.libXrandr
pkgs.xlibs.libXext
pkgs.xlibs.libX11
pkgs.xlibs.libXfixes
pkgs.glib pkgs.glib
pkgs.gtk pkgs.gtk2
pkgs.gdk_pixbuf pkgs.bzip2
pkgs.pango
pkgs.freetype
pkgs.xorg.libICE
pkgs.xorg.libSM
pkgs.xorg.libX11
pkgs.xorg.libXau
pkgs.xorg.libxcb
pkgs.xorg.libXcursor
pkgs.xorg.libXdamage
pkgs.xorg.libXdmcp
pkgs.xorg.libXext
pkgs.xorg.libXfixes
pkgs.xorg.libXi
pkgs.xorg.libXinerama
pkgs.xorg.libXrandr
pkgs.xorg.libXrender
pkgs.xorg.libXScrnSaver
pkgs.xorg.libXtst
pkgs.xorg.libXxf86vm
pkgs.ffmpeg
pkgs.libpng12
pkgs.mesa
pkgs.SDL
pkgs.SDL2
pkgs.libdrm
pkgs.libgcrypt
pkgs.zlib pkgs.zlib
pkgs.alsaLib
pkgs.libvorbis
pkgs.openal
pkgs.libpulseaudio pkgs.libpulseaudio
pkgs.gdk_pixbuf
pkgs.gst_all_1.gst-plugins-ugly # "Audiosurf 2" needs this # Without these it silently fails
pkgs.xlibs.libXinerama
pkgs.xlibs.libXdamage
pkgs.xlibs.libXcursor
pkgs.xlibs.libXrender
pkgs.xlibs.libXScrnSaver
pkgs.xlibs.libXi
pkgs.xlibs.libSM
pkgs.xlibs.libICE
pkgs.gnome2.GConf
pkgs.freetype
pkgs.openalSoft
pkgs.curl
pkgs.nspr
pkgs.nss
pkgs.fontconfig
pkgs.cairo
pkgs.pango
pkgs.alsaLib
pkgs.expat
pkgs.dbus
pkgs.cups
pkgs.libcap
pkgs.SDL2
pkgs.libusb1
pkgs.dbus_glib
pkgs.libav
pkgs.atk
# Only libraries are needed from those two
pkgs.udev182
pkgs.networkmanager098
# Verified games requirements
pkgs.xlibs.libXmu
pkgs.xlibs.libxcb
pkgs.xlibs.libpciaccess
pkgs.mesa_glu
pkgs.libuuid
pkgs.libogg
pkgs.libvorbis
pkgs.SDL
pkgs.SDL2_image
pkgs.glew110
pkgs.openssl
pkgs.libidn
# Other things from runtime
pkgs.xlibs.libXinerama
pkgs.flac
pkgs.freeglut
pkgs.libjpeg
pkgs.libpng12
pkgs.libsamplerate
pkgs.libmikmod
pkgs.libtheora
pkgs.pixman
pkgs.speex
pkgs.SDL_image
pkgs.SDL_ttf
pkgs.SDL_mixer
pkgs.SDL2_net
pkgs.SDL2_ttf
pkgs.SDL2_mixer
pkgs.gstreamer
pkgs.gst_plugins_base
# Not formally in runtime but needed by some games
pkgs.gst_all_1.gstreamer
pkgs.gst_all_1.gst-plugins-ugly
]; ];
extraBuildCommandsMulti = '' extraBuildCommandsMulti = ''
cd usr/lib cd usr/lib
ln -sf ../lib64/steam steam ln -sf ../lib64/steam steam
# FIXME: maybe we should replace this with proper libcurl-gnutls
ln -s libcurl.so.4 libcurl-gnutls.so.4
''; '';
profile = '' profile = ''
# Ugly workaround for https://github.com/ValveSoftware/steam-for-linux/issues/3504 ${if config.steam.enableRuntime or false then "" else "export STEAM_RUNTIME=0"}
export LD_PRELOAD=/lib32/libpulse.so:/lib64/libpulse.so:/lib32/libasound.so:/lib64/libasound.so:$LD_PRELOAD
# Another one for https://github.com/ValveSoftware/steam-for-linux/issues/3801
export LD_PRELOAD=/lib32/libstdc++.so:/lib64/libstdc++.so:$LD_PRELOAD
''; '';
runScript = "steam"; runScript = "steam";