steam: improvements for native runtime
* Update dependencies using steam-native-runtime from Arch Linux as a reference. * Remove native-only Steam Runtime, just use installed libraries instead. * Mark native-only Steam as broken (due to segfault inside D-Bus). Seems it was already broken for a long time. Doesn't apply to steam-run. * Some cleanups for chrootenv.
This commit is contained in:
@@ -1,103 +1,22 @@
|
||||
{ stdenv, steamArch, lib, perl, pkgs, steam-runtime
|
||||
, nativeOnly ? false
|
||||
, runtimeOnly ? false
|
||||
}:
|
||||
|
||||
assert !(nativeOnly && runtimeOnly);
|
||||
|
||||
let
|
||||
runtimePkgs = with pkgs; [
|
||||
# Required
|
||||
glib
|
||||
gtk2
|
||||
bzip2
|
||||
zlib
|
||||
gdk_pixbuf
|
||||
|
||||
# Without these it silently fails
|
||||
xorg.libXinerama
|
||||
xorg.libXdamage
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXxf86vm
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
gnome2.GConf
|
||||
freetype
|
||||
(curl.override { gnutlsSupport = true; sslSupport = false; })
|
||||
nspr
|
||||
nss
|
||||
fontconfig
|
||||
cairo
|
||||
pango
|
||||
expat
|
||||
dbus
|
||||
cups
|
||||
libcap
|
||||
SDL2
|
||||
libusb1
|
||||
dbus-glib
|
||||
libav
|
||||
atk
|
||||
# Only libraries are needed from those two
|
||||
libudev0-shim
|
||||
networkmanager098
|
||||
|
||||
# Verified games requirements
|
||||
xorg.libXmu
|
||||
xorg.libxcb
|
||||
libGLU
|
||||
libuuid
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew110
|
||||
openssl
|
||||
libidn
|
||||
tbb
|
||||
|
||||
# Other things from runtime
|
||||
xorg.libXinerama
|
||||
flac
|
||||
freeglut
|
||||
libjpeg
|
||||
libpng12
|
||||
libsamplerate
|
||||
libmikmod
|
||||
libtheora
|
||||
pixman
|
||||
speex
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL2_net
|
||||
SDL2_ttf
|
||||
SDL2_mixer
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
];
|
||||
|
||||
overridePkgs = with pkgs; [
|
||||
overridePkgs = lib.optionals (!runtimeOnly) (with pkgs; [
|
||||
libgpgerror
|
||||
libpulseaudio
|
||||
alsaLib
|
||||
openalSoft
|
||||
libva
|
||||
libva1-full
|
||||
libvdpau
|
||||
vulkan-loader
|
||||
gcc.cc
|
||||
nss
|
||||
nspr
|
||||
];
|
||||
]);
|
||||
|
||||
ourRuntime = if runtimeOnly then []
|
||||
else if nativeOnly then runtimePkgs ++ overridePkgs
|
||||
else overridePkgs;
|
||||
steamRuntime = lib.optional (!nativeOnly) steam-runtime;
|
||||
|
||||
allPkgs = ourRuntime ++ steamRuntime;
|
||||
allPkgs = overridePkgs ++ [ steam-runtime ];
|
||||
|
||||
gnuArch = if steamArch == "amd64" then "x86_64-linux-gnu"
|
||||
else if steamArch == "i386" then "i386-linux-gnu"
|
||||
@@ -114,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
builder = ./build-wrapped.sh;
|
||||
|
||||
passthru = {
|
||||
inherit gnuArch libs bins;
|
||||
inherit gnuArch libs bins overridePkgs;
|
||||
arch = steamArch;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user