diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2018-12-16 22:55:06 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2018-12-16 22:55:06 +0100 |
commit | aead6e12f96a76a2c1c6b64ba81b18d647e6e3d0 (patch) | |
tree | aff35e8cfa837fd92319e23951493431b3d2dacc /pkgs/stdenv | |
parent | 4027966602c1d3bfac7091e390c2cf678115d59f (diff) | |
parent | eceb2b06a1bd012a938697718c5f3b7b6fd9249a (diff) |
Merge remote-tracking branch 'upstream/master' into staging
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/adapters.nix | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 850785cd881fb..7823d6413442d 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -31,12 +31,19 @@ rec { # Return a modified stdenv that tries to build statically linked # binaries. - makeStaticBinaries = stdenv: stdenv // + makeStaticBinaries = stdenv: + let stdenv' = if stdenv.hostPlatform.libc != "glibc" then stdenv else + stdenv.override (prev: { + extraBuildInputs = prev.extraBuildInputs or [] ++ [ + stdenv.glibc.static + ]; + }); + in stdenv' // { mkDerivation = args: - if stdenv.hostPlatform.isDarwin + if stdenv'.hostPlatform.isDarwin then throw "Cannot build fully static binaries on Darwin/macOS" - else stdenv.mkDerivation (args // { - NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + "-static"; + else stdenv'.mkDerivation (args // { + NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -static"; configureFlags = (args.configureFlags or []) ++ [ "--disable-shared" # brrr... ]; |