From 6d90a8b8948185a3118faf183f29f4b8de294675 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 4 Dec 2018 21:17:22 -0600 Subject: top-level/stage.nix: add static overlay Adds the static overlay that can be used to build Nixpkgs statically. Can be used like: nix build pkgsStatic.hello Not all packages build, as some rely on dynamic linking. --- pkgs/stdenv/darwin/portable-libsystem.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 pkgs/stdenv/darwin/portable-libsystem.sh (limited to 'pkgs/stdenv/darwin') diff --git a/pkgs/stdenv/darwin/portable-libsystem.sh b/pkgs/stdenv/darwin/portable-libsystem.sh new file mode 100644 index 000000000000..27ae790fb5ab --- /dev/null +++ b/pkgs/stdenv/darwin/portable-libsystem.sh @@ -0,0 +1,10 @@ +# 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() { + find "$1/bin" \ + -exec install_name_tool -change @libsystem@ /usr/lib/libSystem.B.dylib {} \; +} -- cgit v1.2.3