From 16cc323d7cef352d0f838feb253b0b2f4204ea2b Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 22 Feb 2019 14:44:18 -0500 Subject: [PATCH 1/2] gccStdenvNoLibs, clangStdenvNoLibs: Init libgcc can only be built with gcc evidentally, so we need a way for Darwin to force gcc without bringing in the other default library dependencies libgcc doesn't---and shouldn't---need. --- pkgs/top-level/all-packages.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6112ff44e6e..e43168c630c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35,7 +35,7 @@ in stdenvNoCC = stdenv.override { cc = null; extraAttrs.noCC = true; }; - stdenvNoLibs = let + mkStdenvNoLibs = stdenv: let bintools = stdenv.cc.bintools.override { libc = null; noLibc = true; @@ -51,6 +51,11 @@ in lib.mapNullable (rs: rs ++ [ bintools ]) (stdenv.allowedRequisites or null); }; + stdenvNoLibs = mkStdenvNoLibs stdenv; + + gccStdenvNoLibs = mkStdenvNoLibs gccStdenv; + clangStdenvNoLibs = mkStdenvNoLibs clangStdenv; + # For convenience, allow callers to get the path to Nixpkgs. path = ../..; From 94a0c681d6fe0ae352d3b79bf5bca0c5d8dbc537 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 22 Feb 2019 15:17:10 -0500 Subject: [PATCH 2/2] libgcc: Always use GCC to build With Clang it fails with `-fbuilding-libgcc` not being recognized. --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e43168c630c..3001b487d73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8556,7 +8556,9 @@ in librarian-puppet-go = callPackage ../development/tools/librarian-puppet-go { }; - libgcc = callPackage ../development/libraries/gcc/libgcc { }; + libgcc = callPackage ../development/libraries/gcc/libgcc { + stdenvNoLibs = gccStdenvNoLibs; # cannot be built with clang it seems + }; libstdcxx5 = callPackage ../development/libraries/gcc/libstdc++/5.nix { };