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:
[ pkgs.steam-original
pkgs.corefonts
pkgs.curl
pkgs.dbus
pkgs.dpkg
pkgs.mono
pkgs.python
pkgs.gnome2.zenity
pkgs.xdg_utils
pkgs.xorg.xrandr
# Errors in output without those
pkgs.pciutils
pkgs.python2
# Games' dependencies
pkgs.xlibs.xrandr
pkgs.which
]
++ lib.optional (config.steam.java or false) pkgs.jdk
@ -21,59 +17,102 @@ buildFHSUserEnv {
;
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.gtk
pkgs.gdk_pixbuf
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.gtk2
pkgs.bzip2
pkgs.zlib
pkgs.alsaLib
pkgs.libvorbis
pkgs.openal
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 = ''
cd usr/lib
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 = ''
# Ugly workaround for https://github.com/ValveSoftware/steam-for-linux/issues/3504
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
${if config.steam.enableRuntime or false then "" else "export STEAM_RUNTIME=0"}
'';
runScript = "steam";