makeStaticBinaries: add a static glibc when performing a mkDerivation
This commit is contained in:
parent
b7fbde893a
commit
eb76dd37a7
1 changed files with 11 additions and 4 deletions
|
@ -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...
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue