makeStaticDarwin: drop darwin-portable-libSystem-hook

`${stdenv.cc.libc}/lib/libSystem.B.dylib` does not exist and not existed
for as long as I have used nixpkgs. Since `/usr/lib/libSystem.B.dylib`
is already linked via text-based stubs, continue relying on those.
This commit is contained in:
Randy Eckenrode 2024-09-24 21:43:34 -04:00
parent 8a0d884405
commit 66fcbb94e7
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9
2 changed files with 1 additions and 22 deletions

View File

@ -141,16 +141,7 @@ rec {
(mkDerivationSuper args).overrideAttrs (prevAttrs: {
NIX_CFLAGS_LINK = toString (prevAttrs.NIX_CFLAGS_LINK or "")
+ lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc";
nativeBuildInputs = (prevAttrs.nativeBuildInputs or [])
++ lib.optionals stdenv.hasCC [
(pkgs.buildPackages.makeSetupHook {
name = "darwin-portable-libSystem-hook";
substitutions = {
libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib";
targetPrefix = stdenv.cc.bintools.targetPrefix;
};
} ./darwin/portable-libsystem.sh)
];
nativeBuildInputs = (prevAttrs.nativeBuildInputs or []);
}));
});

View File

@ -1,12 +0,0 @@
# Make /nix/store/...-libSystem “portable” for static built binaries.
# This just rewrites everything in $1/bin to use the
# /usr/lib/libSystem.B.dylib that is provided on every macOS system.
fixupOutputHooks+=('fixLibsystemRefs $prefix')
fixLibsystemRefs() {
if [ -d "$1/bin" ]; then
find "$1/bin" -type f -exec \
@targetPrefix@install_name_tool -change @libsystem@ /usr/lib/libSystem.B.dylib {} \;
fi
}