mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-04 04:46:43 +00:00
a182a53243
This replaces the mess of buildEnvs with a single Rust binary that spits out a mostly-complete root filesystem for an fhsenv. The main goal is to have includeClosures, as we want all of the dependencies to be in the fhsenv to avoid Steam's (and others') LD_LIBRARY_PATH shenanigans, but without 32-bit libraries leaking into lib64 when a 64-bit package like mangohud depends on a 32-bit version of itself. We "fix" this by actually looking at the files and explicitly moving 32-bit stuff to $out/lib32. This could be avoided if we had recursive Nix, or at least system info in exportReferencesGraph, but alas. For some reason this also shrinks the fhsenvs massively, even though there's currently no layout optimization (e.g. a package with paths like lib/foo/{bar,baz} will produce two symlinks in the output, even when it's more optimal to symlink lib/foo to $out/lib/foo directly). |
||
---|---|---|
.. | ||
rootfs-builder | ||
buildFHSEnv.nix | ||
container-init.cc | ||
default.nix |