Deeply-curried functions are pretty error-prone in untyped languages
like Nix. This is a particularly bad case because
`top-level/splice.nix` *also* declares a makeScopeWithSplicing, but
it takes *two fewer arguments*.
Let's switch to attrset-passing form, to provide some minimal level
of sanity-checking.
Keep in mind the note in `lib.makeScopeWithSplicing`'s source:
# N.B. the other stages of the package set spliced in are *not*
# overridden.
To globally override `pkgs.steamPackages`, overlay `pkgs` like:
final: prev: { steamPackages = steamPackages.overrideScope …; }
* 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.
They aren't meant to be critical (uncatchable) errors.
Tested with nix-env + checkMeta:
[ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ]
Example: instead of
(steamPackages.override { newStdcpp = true; }).steam-chrootenv
(which wasn't working anyway) you now do just:
steam.override { newStdcpp = true; }
Changed the URLs to the packages over to the steam folder inside <code>pool/steam/s/steam</code>. If the archive folder has been repopulated the next 24hrs ignore this.
The videos work, but there is a problem with sound:
ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library
/nix/store/9z51hr9l19vdhgmqd60jwwrg6ny5md2d-alsa-plugins-1.0.26/lib/alsa-lib/libasound_module_pcm_pulse.so
It tries to open a 64bit plugin, which obviously fails. I think this depends on
/etc/asound.conf, but I'm not sure how to fix it.
Regardless of the problem, in one computer I tried the sound works but other
apps cannot output sound. In another, the sound doesn't work and other apps
continue working as normal.
It turns out that the .deb only contains the changelog and some other docs.
Revert back to using the i686 version, but keep the double url for the future.
I forgot in the previous commit to update the version as I had changed the
tarball hash.
I also modified a bit the launcher script, since xz should only be needed by
the installer.
Since there is no way to modify either steam.sh or the steam binary as they are
hash checked, I took the approach of bypassing steam.sh and create a script
that does its job.
For now it segfaults, but when I try to run under strace, it works perfectly.
Need to check this.
The binaries that get copied to $HOME need patchelf to run, and after that I
need all the runtime libs in the library path. Still not working as I need
glibc2.15.