nixpkgs/pkgs/build-support/build-fhsenv-bubblewrap
K900 a182a53243 buildFHSEnv: rewrite env building
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).
2024-11-04 10:13:04 +03:00
..
rootfs-builder buildFHSEnv: rewrite env building 2024-11-04 10:13:04 +03:00
buildFHSEnv.nix buildFHSEnv: rewrite env building 2024-11-04 10:13:04 +03:00
container-init.cc buildFHSEnv: fix nested fhsenvs with LD_PRELOAD 2024-10-08 14:00:17 +03:00
default.nix buildFHSEnv: fix nested fhsenvs with LD_PRELOAD 2024-10-08 14:00:17 +03:00