lol
1{ stdenv, steamArch, lib, perl, pkgs, steam-runtime
2, runtimeOnly ? false
3}:
4
5let
6 overridePkgs = lib.optionals (!runtimeOnly) (with pkgs; [
7 libgpg-error
8 libpulseaudio
9 alsa-lib
10 openalSoft
11 libva1
12 libvdpau
13 vulkan-loader
14 gcc.cc.lib
15 nss
16 nspr
17 xorg.libxcb
18 ]);
19
20 allPkgs = overridePkgs ++ [ steam-runtime ];
21
22 gnuArch = if steamArch == "amd64" then "x86_64-linux-gnu"
23 else if steamArch == "i386" then "i386-linux-gnu"
24 else abort "Unsupported architecture";
25
26 libs = [ "lib/${gnuArch}" "lib" "usr/lib/${gnuArch}" "usr/lib" ];
27 bins = [ "bin" "usr/bin" ];
28
29in stdenv.mkDerivation {
30 name = "steam-runtime-wrapped";
31
32 nativeBuildInputs = [ perl ];
33
34 builder = ./build-wrapped.sh;
35
36 passthru = {
37 inherit gnuArch libs bins overridePkgs;
38 arch = steamArch;
39 };
40
41 installPhase = ''
42 buildDir "${toString libs}" "${toString (map lib.getLib allPkgs)}"
43 buildDir "${toString bins}" "${toString (map lib.getBin allPkgs)}"
44 '';
45}