diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-05-17 10:56:54 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-05-17 10:56:54 +0000 |
commit | c1d22074139ab0d048a05b5e5116265d099114d6 (patch) | |
tree | 97977009422d675f8930f97c309b010481289e72 /nixpkgs/pkgs/stdenv/darwin | |
parent | 4dc8afe4fd6b18437150129e0a1ecc23c6a1c0b9 (diff) | |
parent | bc9df0f66110039e495b6debe3a6cda4a1bb0fed (diff) | |
download | nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.gz nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.bz2 nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.lz nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.xz nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.zst nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.zip |
Merge commit 'bc9df0f66110039e495b6debe3a6cda4a1bb0fed'
Diffstat (limited to 'nixpkgs/pkgs/stdenv/darwin')
-rw-r--r-- | nixpkgs/pkgs/stdenv/darwin/darwin-secure-format.patch | 15 | ||||
-rw-r--r-- | nixpkgs/pkgs/stdenv/darwin/default.nix | 51 | ||||
-rw-r--r-- | nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix | 8 |
3 files changed, 30 insertions, 44 deletions
diff --git a/nixpkgs/pkgs/stdenv/darwin/darwin-secure-format.patch b/nixpkgs/pkgs/stdenv/darwin/darwin-secure-format.patch deleted file mode 100644 index b14d8be6ef16..000000000000 --- a/nixpkgs/pkgs/stdenv/darwin/darwin-secure-format.patch +++ /dev/null @@ -1,15 +0,0 @@ -With format string strictness, High Sierra also enforces that %n isn't used -in dynamic format strings, but we should just disable its use on darwin in -general. - ---- a/lib/vasnprintf.c 2017-06-22 15:19:15.000000000 -0700 -+++ b/lib/vasnprintf.c 2017-06-22 15:20:20.000000000 -0700 -@@ -4869,7 +4869,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+# if !defined(__APPLE__) && !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; diff --git a/nixpkgs/pkgs/stdenv/darwin/default.nix b/nixpkgs/pkgs/stdenv/darwin/default.nix index b7d8e3ba5236..3c3917c827e2 100644 --- a/nixpkgs/pkgs/stdenv/darwin/default.nix +++ b/nixpkgs/pkgs/stdenv/darwin/default.nix @@ -132,9 +132,6 @@ in rec { extraAttrs = { inherit platform; parent = last; - - # This is used all over the place so I figured I'd just leave it here for now - secure-format-patch = ./darwin-secure-format.patch; }; overrides = self: super: (overrides self super) // { fetchurl = thisStdenv.fetchurlBoot; }; }; @@ -158,7 +155,7 @@ in rec { dyld = bootstrapTools; }; - llvmPackages_5 = { + llvmPackages_7 = { libcxx = stdenv.mkDerivation { name = "bootstrap-stage0-libcxx"; phases = [ "installPhase" "fixupPhase" ]; @@ -200,7 +197,12 @@ in rec { python2 = self.python; ninja = super.ninja.override { buildDocs = false; }; - darwin = super.darwin // { cctools = super.darwin.cctools.override { llvm = null; }; }; + darwin = super.darwin // { + cctools = super.darwin.cctools.override { + llvm = null; + enableTapiSupport = false; + }; + }; }; in with prevStage; stageFun 1 prevStage { extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; @@ -260,9 +262,9 @@ in rec { # Avoid pulling in a full python and its extra dependencies for the llvm/clang builds. libxml2 = super.libxml2.override { pythonSupport = false; }; - llvmPackages_5 = super.llvmPackages_5 // (let - libraries = super.llvmPackages_5.libraries.extend (_: _: { - inherit (llvmPackages_5) libcxx libcxxabi; + llvmPackages_7 = super.llvmPackages_7 // (let + libraries = super.llvmPackages_7.libraries.extend (_: _: { + inherit (llvmPackages_7) libcxx libcxxabi; }); in { inherit libraries; } // libraries); @@ -278,8 +280,8 @@ in rec { # enables patchShebangs above. Unfortunately, patchShebangs ignores our $SHELL setting # and instead goes by $PATH, which happens to contain bootstrapTools. So it goes and # patches our shebangs back to point at bootstrapTools. This makes sure bash comes first. - extraNativeBuildInputs = with pkgs; [ xz pkgs.bash ]; - extraBuildInputs = [ pkgs.darwin.CF ]; + extraNativeBuildInputs = with pkgs; [ xz ]; + extraBuildInputs = [ pkgs.darwin.CF pkgs.bash ]; libcxx = pkgs.libcxx; extraPreHook = '' @@ -314,18 +316,20 @@ in rec { ]; }); - llvmPackages_5 = super.llvmPackages_5 // (let - tools = super.llvmPackages_5.tools.extend (llvmSelf: _: { - inherit (llvmPackages_5) llvm clang-unwrapped; + llvmPackages_7 = super.llvmPackages_7 // (let + tools = super.llvmPackages_7.tools.extend (llvmSelf: _: { + clang-unwrapped = llvmPackages_7.clang-unwrapped.override { llvm = llvmSelf.llvm; }; + llvm = llvmPackages_7.llvm.override { libxml2 = self.darwin.libxml2-nopython; }; }); - libraries = super.llvmPackages_5.libraries.extend (llvmSelf: _: { - inherit (llvmPackages_5) libcxx libcxxabi compiler-rt; + libraries = super.llvmPackages_7.libraries.extend (llvmSelf: _: { + inherit (llvmPackages_7) libcxx libcxxabi compiler-rt; }); in { inherit tools libraries; } // tools // libraries); darwin = super.darwin // rec { inherit (darwin) dyld Libsystem libiconv locale; + cctools = super.darwin.cctools.override { enableTapiSupport = false; }; libxml2-nopython = super.libxml2.override { pythonSupport = false; }; CF = super.darwin.CF.override { libxml2 = libxml2-nopython; @@ -335,8 +339,8 @@ in rec { }; in with prevStage; stageFun 4 prevStage { shell = "${pkgs.bash}/bin/bash"; - extraNativeBuildInputs = with pkgs; [ xz pkgs.bash ]; - extraBuildInputs = [ pkgs.darwin.CF ]; + extraNativeBuildInputs = with pkgs; [ xz ]; + extraBuildInputs = [ pkgs.darwin.CF pkgs.bash ]; libcxx = pkgs.libcxx; extraPreHook = '' @@ -353,12 +357,12 @@ in rec { ncurses libffi zlib llvm gmp pcre gnugrep coreutils findutils diffutils patchutils; - llvmPackages_5 = super.llvmPackages_5 // (let - tools = super.llvmPackages_5.tools.extend (_: super: { - inherit (llvmPackages_5) llvm clang-unwrapped; + llvmPackages_7 = super.llvmPackages_7 // (let + tools = super.llvmPackages_7.tools.extend (_: super: { + inherit (llvmPackages_7) llvm clang-unwrapped; }); - libraries = super.llvmPackages_5.libraries.extend (_: _: { - inherit (llvmPackages_5) compiler-rt libcxx libcxxabi; + libraries = super.llvmPackages_7.libraries.extend (_: _: { + inherit (llvmPackages_7) compiler-rt libcxx libcxxabi; }); in { inherit tools libraries; } // tools // libraries); @@ -414,9 +418,6 @@ in rec { inherit platform bootstrapTools; libc = pkgs.darwin.Libsystem; shellPackage = pkgs.bash; - - # This is used all over the place so I figured I'd just leave it here for now - secure-format-patch = ./darwin-secure-format.patch; }; allowedRequisites = (with pkgs; [ diff --git a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 670215a735d7..cfa8aac0578e 100644 --- a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -3,7 +3,7 @@ with import pkgspath { inherit system; }; let - llvmPackages = llvmPackages_5; + llvmPackages = llvmPackages_7; in rec { coreutils_ = coreutils.override (args: { # We want coreutils without ACL support. @@ -80,14 +80,14 @@ in rec { cp -d ${libxml2.out}/lib/libxml2*.dylib $out/lib # Copy what we need of clang - cp -d ${llvmPackages.clang-unwrapped}/bin/clang $out/bin - cp -d ${llvmPackages.clang-unwrapped}/bin/clang++ $out/bin - cp -d ${llvmPackages.clang-unwrapped}/bin/clang-[0-9].[0-9] $out/bin + cp -d ${llvmPackages.clang-unwrapped}/bin/clang* $out/bin cp -rL ${llvmPackages.clang-unwrapped}/lib/clang $out/lib cp -d ${llvmPackages.libcxx}/lib/libc++*.dylib $out/lib cp -d ${llvmPackages.libcxxabi}/lib/libc++abi*.dylib $out/lib + cp -d ${llvmPackages.llvm.lib}/lib/libLLVM.dylib $out/lib + cp -d ${libffi}/lib/libffi*.dylib $out/lib mkdir $out/include cp -rd ${llvmPackages.libcxx}/include/c++ $out/include |