From 7b9d3f860588c5157ec9cb2a325e9e16a2ab6e17 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Mon, 12 Sep 2016 01:46:17 -0400 Subject: [PATCH] stdenv-darwin: upgrade a few more things It's a long build and generally painful to split into smaller commits, so I apologize for lumping many changes into one commit but this is far easier. There are still several outdated parts of the darwin stdenv but these changes should bring us closer to the goal. Fixes #18461 --- .../compilers/llvm/3.8/clang/default.nix | 8 ++++++++ .../interpreters/python/cpython/2.7/default.nix | 10 +++++++++- .../darwin/apple-source-releases/default.nix | 14 ++------------ .../apple-source-releases/libiconv/default.nix | 10 ---------- pkgs/os-specific/darwin/cctools/port.nix | 6 +++--- pkgs/stdenv/darwin/default.nix | 14 +++++++------- pkgs/top-level/all-packages.nix | 2 +- 7 files changed, 30 insertions(+), 34 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix index 71420d4cdcc..cc6cfd64fd0 100644 --- a/pkgs/development/compilers/llvm/3.8/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix @@ -30,12 +30,20 @@ let sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp ''; + outputs = [ "out" "python" ]; + # Clang expects to find LLVMgold in its own prefix # Clang expects to find sanitizer libraries in its own prefix postInstall = '' ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv $out/bin/clang $out/bin/cpp + + mkdir -p $python/bin $python/share/clang/ + mv $out/bin/{git-clang-format,scan-view,set-xcode-analyzer} $python/bin + mv $out/share/clang/*.py $python/share/clang + + rm $out/bin/c-index-test ''; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index 5f15db26ebc..5c61b9777c8 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, self, callPackage, python27Packages +{ stdenv, fetchurl, fetchpatch, self, callPackage, python27Packages , bzip2, openssl, gettext , includeModules ? false @@ -44,6 +44,14 @@ let ./deterministic-build.patch ./properly-detect-curses.patch + + # FIXME: get rid of this after the next release, when the commit referenced here makes + # it in. We need it until then because it breaks compilation of programs that use + # locale with clang 3.8 and higher. + (fetchpatch { + url = "https://hg.python.org/cpython/raw-rev/e0ec3471cb09"; + sha256 = "1jdgb70jw942r4kmr01qll7mk1di8jx0qiabmp20jhnmha246ivq"; + }) ] ++ optionals stdenv.isLinux [ # Disable the use of ldconfig in ctypes.util.find_library (since diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index d7710abf291..b8a748e6f8d 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -10,6 +10,7 @@ let dtrace = "168"; xnu = "3248.60.10"; libpthread = "138.10.4"; + libiconv = "44"; }; "osx-10.11.5" = { Libc = "1082.50.1"; # 10.11.6 still unreleased :/ @@ -204,7 +205,7 @@ let Libc_old = applePackage "Libc/825_40_1.nix" "osx-10.8.5" "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {}; libclosure = applePackage "libclosure" "osx-10.10.5" "1zqy1zvra46cmqv6vsf1mcsz3a76r9bky145phfwh4ab6y15vjpq" {}; libdispatch = applePackage "libdispatch" "osx-10.9.5" "1lc5033cmkwxy3r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {}; - libiconv = applePackage "libiconv" "osx-10.9.5" "0sni1gx6i2h7r4r4hhwbxdir45cp039m4wi74izh4l0pfw7gywad" {}; + libiconv = applePackage "libiconv" "osx-10.11.6" "11h6lfajydri4widis62q8scyz7z8l6msqyx40ly4ahsdlbl0981" {}; Libinfo = applePackage "Libinfo" "osx-10.10.5" "19n72s652rrqnc9hzlh4xq3h7xsfyjyklmcgyzyj0v0z68ww3z6h" {}; Libm = applePackage "Libm" "osx-10.7.4" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {}; Libnotify = applePackage "Libnotify" "osx-10.9.5" "164rx4za5z74s0mk9x0m1815r1m9kfal8dz3bfaw7figyjd6nqad" {}; @@ -220,17 +221,6 @@ let Security = applePackage "Security" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; xnu = applePackage "xnu" "osx-10.11.6" "0yhziq4dqqcbjpf6vyqn8xhwva2zb525gndkx8cp8alzwp76jnr9" {}; - # Pending work... we can't change the above packages in place because the bootstrap depends on them, so we detach the expressions - # here so we can work on them. - CF_new = applePackage "CF/new.nix" "osx-10.10.5" "1sadmxi9fsvsmdyxvg2133sdzvkzwil50vyyidxsyk1iyfzqsvln" {}; - Libc_new = applePackage "Libc/new.nix" "osx-10.10.5" "1jz5bx9l4q484vn08c6n9b28psja3rpxiqbj6zwrwvlndzmq1yz5" {}; - libdispatch_new = applePackage "libdispatch/new.nix" "osx-10.10.5" "1lc5033cmkwxy0r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {}; - libiconv_new = applePackage "libiconv/new.nix" "osx-10.10.5" "0sni1gx6i2h7r404hhwbxdir45cp039m4wi74izh4l0pfw7gywad" {}; - Libnotify_new = applePackage "Libnotify/new.nix" "osx-10.10.5" "0sni1gx6i2h7r404hhwbxdir45cp039m4wi70izh4l0pfw7gywad" {}; - Libsystem_new = applePackage "Libsystem/new.nix" "osx-10.10.5" "1yfj2qdrf9vrzs7p9m4wlb7zzxcrim10w43x4lvz4qydpp5kg2rh" {}; - objc4_new = applePackage "objc4/new.nix" "osx-10.10.5" "0r0797ckmgv19if4i14dzyjh7i5klkm9jpacjif9v3rpycyyx1n3" {}; - xnu_new = applePackage "xnu/new.nix" "osx-10.11.2" "1ax280jblz7laqam8fcwrffrrz26am10p1va9mlg9mklvbqarhqh" {}; - libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {}; libsecurity_apple_cspdl = libsecPackage "libsecurity_apple_cspdl" "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {}; libsecurity_apple_file_dl = libsecPackage "libsecurity_apple_file_dl" "osx-10.7.5" "1dfqani3n135i3iqmafc1k9awmz6s0a78zifhk15rx5a8ps870bl" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix index 5b82835d3e6..bc514d617bd 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -2,14 +2,4 @@ appleDerivation { preConfigure = "cd libiconv"; - - postInstall = '' - mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib - install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib - - ld -dylib -o $out/lib/libiconv.dylib \ - -reexport_library $out/lib/libiconv-nocharset.dylib \ - -reexport_library $out/lib/libcharset.dylib \ - -dylib_compatibility_version 7.0.0 - ''; } diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index bc6492f243f..af713bf61dd 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -6,13 +6,13 @@ let baseParams = rec { name = "cctools-port-${version}"; - version = "877.5"; + version = "886"; src = fetchFromGitHub { owner = "tpoechtrager"; repo = "cctools-port"; - rev = "7d405492b09fa27546caaa989b8493829365deab"; - sha256 = "0nj1q5bqdx5jm68dispybxc7wnkb6p8p2igpnap9q6qyv2r9p07w"; + rev = "02f0b8ecd87a3951653d838a321ae744815e21a5"; + sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1"; }; buildInputs = [ autoconf automake libtool_2 openssl libuuid ] ++ diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 09d9ed23b3f..227ddfa8a69 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -6,14 +6,14 @@ # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools , bootstrapFiles ? let fetch = { file, sha256, executable ? true }: import { - url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/4f07c88d467216d9692fefc951deb5cd3c4cc722/${file}"; + url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/45ea46c1894f8fcc545ca9f367ba54c8c280b762/${file}"; inherit sha256 system executable; }; in { - sh = fetch { file = "sh"; sha256 = "1siix3wakzil31r2cydmh3v8a1nyq4605dwiabqc5lx73j4xzrzi"; }; - bzip2 = fetch { file = "bzip2"; sha256 = "0zvqm977k11b5cl4ixxb5h0ds24g6z0f8m28z4pqxzpa353lqbla"; }; - mkdir = fetch { file = "mkdir"; sha256 = "13frk8lsfgzlb65p9l26cvxf06aag43yjk7vg9msn7ix3v8cmrg1"; }; - cpio = fetch { file = "cpio"; sha256 = "0ms5i9m1vdksj575sf1djwgm7zhnvfrrb44dxnfh9avr793rc2w4"; }; - tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "1lz1b0grl4642h6n635xvi6imf0yyy1zyzdr9ing5aphzz0z5iic"; executable = false; }; + sh = fetch { file = "sh"; sha256 = "1qpg16qbqqkmcr5an4d73p6q55izhlzmdd3nvid8gp7f3f9spbz7"; }; + bzip2 = fetch { file = "bzip2"; sha256 = "1g67sh51fa2ws9wch5gznvrmmh27mks3dbnp6gvac43qxdnv6mpz"; }; + mkdir = fetch { file = "mkdir"; sha256 = "1lkp6y33lsrj9yif1cfrw5g021pffynrdscrz3ds19hslg55w4dw"; }; + cpio = fetch { file = "cpio"; sha256 = "115pgrl0pcq2h4yfqrmfvffl0dcabw4mgkc91aphd913wrzfmlz9"; }; + tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "1h5dr8vk7dvvbdkpszpd6zkx3799zccsflnw35wvmjc2fp0dyyd5"; executable = false; }; } }: @@ -128,7 +128,7 @@ in rec { ln -s ${bootstrapTools}/include/c++ $out/include/c++ ''; linkCxxAbi = false; - setupHook = ../../development/compilers/llvm/3.6/libc++/setup-hook.sh; + setupHook = ../../development/compilers/llvm/3.9/libc++/setup-hook.sh; }; libcxxabi = stdenv.mkDerivation { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9262c8c144a..442bcb44556 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4933,7 +4933,7 @@ in llvm_35 = self.llvmPackages_35.llvm; llvm_34 = self.llvmPackages_34.llvm; - llvmPackages = recurseIntoAttrs self.llvmPackages_37; + llvmPackages = recurseIntoAttrs (if stdenv.isDarwin then self.llvmPackages_38 else self.llvmPackages_37); llvmPackagesSelf = self.llvmPackages_34.override { stdenv = libcxxStdenv;