Merge branch 'new-darwin-stdenv' of git://github.com/gridaphobe/nixpkgs

refs #6122

Shea Levy 5ac03183 f8dacd85

+1078 -343
-4
pkgs/applications/editors/vim/configurable.nix
··· 31 31 ''; 32 32 in 33 33 composableDerivation { 34 - # use gccApple to compile on darwin 35 - mkDerivation = ( if stdenv.isDarwin 36 - then stdenvAdapters.overrideCC stdenv gccApple 37 - else stdenv ).mkDerivation; 38 34 } (fix: { 39 35 40 36 name = "vim_configurable-7.4.516";
-4
pkgs/applications/editors/vim/qvim.nix
··· 6 6 7 7 let inherit (args.composableDerivation) composableDerivation edf; in 8 8 composableDerivation { 9 - # use gccApple to compile on darwin 10 - mkDerivation = ( if stdenv.isDarwin 11 - then stdenvAdapters.overrideCC stdenv gccApple 12 - else stdenv ).mkDerivation; 13 9 } (fix: { 14 10 15 11 name = "qvim-7.4." + tag;
+2 -3
pkgs/build-support/cc-wrapper/default.nix
··· 9 9 , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell 10 10 , zlib ? null, extraPackages ? [] 11 11 , setupHook ? ./setup-hook.sh 12 - , libcxx ? null, libcxxabi ? null 13 12 }: 14 13 15 14 with stdenv.lib; ··· 35 34 36 35 preferLocalBuild = true; 37 36 38 - inherit cc shell libcxx libcxxabi; 37 + inherit cc shell; 39 38 libc = if nativeLibc then null else libc; 40 39 binutils = if nativeTools then null else binutils; 41 40 # The wrapper scripts use 'cat', so we may need coreutils. ··· 88 87 '' 89 88 90 89 + (if nativeTools then '' 91 - ccPath="${nativePrefix}/bin" 90 + ccPath="${if stdenv.isDarwin then cc else nativePrefix}/bin" 92 91 ldPath="${nativePrefix}/bin" 93 92 '' else '' 94 93 echo $cc > $out/nix-support/orig-cc
+22
pkgs/development/compilers/llvm/3.5/clang-purity.patch
··· 1 + diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp 2 + index 198e82e..810d006 100644 3 + --- a/lib/Driver/Tools.cpp 4 + +++ b/lib/Driver/Tools.cpp 5 + @@ -7355,17 +7355,6 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, 6 + CmdArgs.push_back("-shared"); 7 + } 8 + 9 + - if (ToolChain.getArch() == llvm::Triple::arm || 10 + - ToolChain.getArch() == llvm::Triple::armeb || 11 + - ToolChain.getArch() == llvm::Triple::thumb || 12 + - ToolChain.getArch() == llvm::Triple::thumbeb || 13 + - (!Args.hasArg(options::OPT_static) && 14 + - !Args.hasArg(options::OPT_shared))) { 15 + - CmdArgs.push_back("-dynamic-linker"); 16 + - CmdArgs.push_back(Args.MakeArgString( 17 + - D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain))); 18 + - } 19 + - 20 + CmdArgs.push_back("-o"); 21 + CmdArgs.push_back(Output.getFilename()); 22 +
+8
pkgs/development/compilers/llvm/3.5/clang-separate-build.patch
··· 1 + diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt 2 + --- clang-3.4-orig/tools/extra/CMakeLists.txt 2013-11-07 19:08:23.000000000 -0500 3 + +++ clang-3.4/tools/extra/CMakeLists.txt 2014-01-20 11:47:22.678435223 -0500 4 + @@ -1,3 +1,4 @@ 5 + +include(CheckLibraryExists) 6 + check_library_exists(edit el_init "" HAVE_LIBEDIT) 7 + 8 + add_subdirectory(clang-apply-replacements)
+41
pkgs/development/compilers/llvm/3.5/clang.nix
··· 1 + { stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }: 2 + 3 + stdenv.mkDerivation { 4 + name = "clang-${version}"; 5 + 6 + unpackPhase = '' 7 + unpackFile ${fetch "cfe" "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"} 8 + mv cfe-${version}.src clang 9 + sourceRoot=$PWD/clang 10 + unpackFile ${clang-tools-extra_src} 11 + mv clang-tools-extra-* $sourceRoot/tools/extra 12 + ''; 13 + 14 + buildInputs = [ cmake libedit libxml2 llvm ]; 15 + 16 + cmakeFlags = [ 17 + "-DCMAKE_BUILD_TYPE=Release" 18 + "-DCMAKE_CXX_FLAGS=-std=c++11" 19 + ] ++ 20 + (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); 21 + 22 + patches = [ ./clang-purity.patch ]; 23 + 24 + # Clang expects to find LLVMgold in its own prefix 25 + # Clang expects to find sanitizer libraries in its own prefix 26 + postInstall = '' 27 + ln -sv ${llvm}/lib/LLVMgold.so $out/lib 28 + ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ 29 + ln -sv $out/bin/clang $out/bin/cpp 30 + ''; 31 + 32 + enableParallelBuilding = true; 33 + 34 + meta = { 35 + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; 36 + homepage = http://llvm.org/; 37 + license = stdenv.lib.licenses.bsd3; 38 + maintainers = [ stdenv.lib.maintainers.shlevy ]; 39 + platforms = stdenv.lib.platforms.all; 40 + }; 41 + }
+41
pkgs/development/compilers/llvm/3.5/default.nix
··· 1 + { pkgs, newScope, stdenv, isl, fetchurl }: 2 + let 3 + callPackage = newScope (self // { inherit stdenv isl version fetch; }); 4 + 5 + version = "3.5.0"; 6 + 7 + fetch = fetch_v version; 8 + fetch_v = ver: name: sha256: fetchurl { 9 + url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz"; 10 + inherit sha256; 11 + }; 12 + 13 + compiler-rt_src = fetch "compiler-rt" "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4"; 14 + clang-tools-extra_src = fetch "clang-tools-extra" "0s8zjgxg8bj15nnqcw1cj1zffcralhh7f0gda1famddgg2rvx099"; 15 + 16 + self = { 17 + llvm = callPackage ./llvm.nix rec { 18 + version = "3.5.0"; 19 + fetch = fetch_v version; 20 + inherit compiler-rt_src; 21 + }; 22 + 23 + clang = callPackage ./clang.nix rec { 24 + version = "3.5.0"; 25 + fetch = fetch_v version; 26 + inherit clang-tools-extra_src; 27 + }; 28 + 29 + lld = callPackage ./lld.nix {}; 30 + 31 + lldb = callPackage ./lldb.nix {}; 32 + 33 + polly = callPackage ./polly.nix {}; 34 + 35 + dragonegg = callPackage ./dragonegg.nix {}; 36 + 37 + libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; }; 38 + 39 + libcxxabi = callPackage ./libc++abi { stdenv = pkgs.clangStdenv; }; 40 + }; 41 + in self
+34
pkgs/development/compilers/llvm/3.5/dragonegg.nix
··· 1 + {stdenv, fetch, fetchpatch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "dragonegg-${version}"; 5 + 6 + src = fetch "dragonegg" "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrr"; 7 + 8 + patches = [(fetchpatch { 9 + url = "https://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/ABIHack.inc" 10 + + "?r1=208730&r2=208729&view=patch"; 11 + sha256 = "1al82gqz90hzjx24p0wls029lw2bgnlgd209kgvxsp82p4z1v1c1"; 12 + name = "bug-18548.patch"; 13 + })]; 14 + patchFlags = "-p2"; 15 + 16 + # The gcc the plugin will be built for (the same used building dragonegg) 17 + GCC = "gcc"; 18 + 19 + buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ]; 20 + 21 + installPhase = '' 22 + mkdir -p $out/lib $out/share/doc/${name} 23 + cp -d dragonegg.so $out/lib 24 + cp README COPYING $out/share/doc/${name} 25 + ''; 26 + 27 + meta = { 28 + homepage = http://dragonegg.llvm.org/; 29 + description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM"; 30 + license = stdenv.lib.licenses.gpl2Plus; 31 + maintainers = with stdenv.lib.maintainers; [viric shlevy]; 32 + platforms = with stdenv.lib.platforms; linux; 33 + }; 34 + }
+53
pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
··· 1 + { stdenv, cmake, coreutils, fetchurl, libcxx, libunwind, llvm }: 2 + 3 + let version = "3.5.0"; in 4 + 5 + stdenv.mkDerivation { 6 + name = "libc++abi-${version}"; 7 + 8 + src = fetchurl { 9 + url = "http://llvm.org/releases/${version}/libcxxabi-${version}.src.tar.xz"; 10 + sha256 = "1ndcpw3gfrzh7m1jac2qadhkrqgvb65cns69j9niydyj5mmbxijk"; 11 + }; 12 + 13 + NIX_CFLAGS_LINK = "-L${libunwind}/lib"; 14 + 15 + buildInputs = [ coreutils cmake llvm ]; 16 + 17 + postUnpack = '' 18 + unpackFile ${libcxx.src} 19 + export NIX_CFLAGS_COMPILE+=" -I${libunwind}/include -I$PWD/include" 20 + export cmakeFlags="-DLIBCXXABI_LIBCXX_INCLUDES=$(${coreutils}/bin/readlink -f libcxx-*)/include" 21 + '' + stdenv.lib.optionalString stdenv.isDarwin '' 22 + export TRIPLE=x86_64-apple-darwin 23 + ''; 24 + 25 + installPhase = if stdenv.isDarwin 26 + then '' 27 + for file in lib/*; do 28 + # this should be done in CMake, but having trouble figuring out 29 + # the magic combination of necessary CMake variables 30 + # if you fancy a try, take a look at 31 + # http://www.cmake.org/Wiki/CMake_RPATH_handling 32 + install_name_tool -id $out/$file $file 33 + done 34 + make install 35 + install -d 755 $out/include 36 + install -m 644 ../include/cxxabi.h $out/include 37 + '' 38 + else '' 39 + install -d -m 755 $out/include $out/lib 40 + install -m 644 lib/libc++abi.so.1.0 $out/lib 41 + install -m 644 ../include/cxxabi.h $out/include 42 + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so 43 + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 44 + ''; 45 + 46 + meta = { 47 + homepage = http://libcxxabi.llvm.org/; 48 + description = "A new implementation of low level support for a standard C++ library"; 49 + license = "BSD"; 50 + maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ]; 51 + platforms = stdenv.lib.platforms.unix; 52 + }; 53 + }
+31
pkgs/development/compilers/llvm/3.5/lld.nix
··· 1 + { stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }: 2 + 3 + stdenv.mkDerivation { 4 + name = "lld-${version}"; 5 + 6 + src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxx"; 7 + 8 + preUnpack = '' 9 + # !!! Hopefully won't be needed for 3.5 10 + unpackFile ${llvm.src} 11 + export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*` 12 + ''; 13 + 14 + buildInputs = [ cmake ncurses zlib python ]; 15 + 16 + cmakeFlags = [ 17 + "-DCMAKE_BUILD_TYPE=Release" 18 + "-DCMAKE_CXX_FLAGS=-std=c++11" 19 + "-DLLD_PATH_TO_LLVM_BUILD=${llvm}" 20 + ]; 21 + 22 + enableParallelBuilding = true; 23 + 24 + meta = { 25 + description = "A set of modular code for creating linker tools"; 26 + homepage = http://llvm.org/; 27 + license = stdenv.lib.licenses.bsd3; 28 + maintainers = [ stdenv.lib.maintainers.shlevy ]; 29 + platforms = stdenv.lib.platforms.all; 30 + }; 31 + }
+44
pkgs/development/compilers/llvm/3.5/lldb.nix
··· 1 + { stdenv 2 + , fetch 3 + , cmake 4 + , zlib 5 + , ncurses 6 + , swig 7 + , which 8 + , libedit 9 + , llvm 10 + , clang 11 + , python 12 + , version 13 + }: 14 + 15 + stdenv.mkDerivation { 16 + name = "lldb-${version}"; 17 + 18 + src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x44"; 19 + 20 + patchPhase = '' 21 + sed -i 's|/usr/bin/env||' \ 22 + scripts/Python/finish-swig-Python-LLDB.sh \ 23 + scripts/Python/build-swig-Python.sh 24 + ''; 25 + 26 + buildInputs = [ cmake python which swig ncurses zlib libedit ]; 27 + 28 + cmakeFlags = [ 29 + "-DCMAKE_BUILD_TYPE=Release" 30 + "-DCMAKE_CXX_FLAGS=-std=c++11" 31 + "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}" 32 + "-DLLDB_PATH_TO_CLANG_BUILD=${clang}" 33 + ]; 34 + 35 + enableParallelBuilding = true; 36 + 37 + meta = { 38 + description = "A next-generation high-performance debugger"; 39 + homepage = http://llvm.org/; 40 + license = stdenv.lib.licenses.bsd3; 41 + maintainers = [ stdenv.lib.maintainers.shlevy ]; 42 + platforms = stdenv.lib.platforms.all; 43 + }; 44 + }
+12
pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch
··· 1 + diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake 2 + --- llvm-3.4-orig/cmake/modules/TableGen.cmake 2013-10-06 21:00:07.000000000 -0400 3 + +++ llvm-3.4/cmake/modules/TableGen.cmake 2014-01-20 13:06:55.273022149 -0500 4 + @@ -78,8 +78,6 @@ 5 + endif() 6 + 7 + macro(add_tablegen target project) 8 + - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR}) 9 + - 10 + set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) 11 + set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) 12 + add_llvm_utility(${target} ${ARGN})
+70
pkgs/development/compilers/llvm/3.5/llvm.nix
··· 1 + { stdenv 2 + , fetch 3 + , perl 4 + , groff 5 + , cmake 6 + , python 7 + , libffi 8 + , binutils 9 + , libxml2 10 + , valgrind 11 + , ncurses 12 + , version 13 + , zlib 14 + , compiler-rt_src 15 + }: 16 + 17 + let 18 + src = fetch "llvm" "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"; 19 + in stdenv.mkDerivation rec { 20 + name = "llvm-${version}"; 21 + 22 + unpackPhase = '' 23 + unpackFile ${src} 24 + mv llvm-${version}.src llvm 25 + sourceRoot=$PWD/llvm 26 + unpackFile ${compiler-rt_src} 27 + mv compiler-rt-* $sourceRoot/projects/compiler-rt 28 + ''; 29 + 30 + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; 31 + 32 + propagatedBuildInputs = [ ncurses zlib ]; 33 + 34 + # hacky fix: created binaries need to be run before installation 35 + preBuild = '' 36 + mkdir -p $out/ 37 + ln -sv $PWD/lib $out 38 + ''; 39 + 40 + cmakeFlags = with stdenv; [ 41 + "-DCMAKE_BUILD_TYPE=Release" 42 + "-DLLVM_BUILD_TESTS=ON" 43 + "-DLLVM_ENABLE_FFI=ON" 44 + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" 45 + "-DCMAKE_CXX_FLAGS=-stdlib=libc++" 46 + ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON" 47 + ++ stdenv.lib.optional ( isDarwin) "-DCAN_TARGET_i386=false"; 48 + 49 + postBuild = '' 50 + rm -fR $out 51 + 52 + paxmark m bin/{lli,llvm-rtdyld} 53 + 54 + paxmark m unittests/ExecutionEngine/JIT/JITTests 55 + paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests 56 + paxmark m unittests/Support/SupportTests 57 + ''; 58 + 59 + enableParallelBuilding = true; 60 + 61 + passthru.src = src; 62 + 63 + meta = { 64 + description = "Collection of modular and reusable compiler and toolchain technologies"; 65 + homepage = http://llvm.org/; 66 + license = stdenv.lib.licenses.bsd3; 67 + maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ]; 68 + platforms = stdenv.lib.platforms.all; 69 + }; 70 + }
+12
pkgs/development/compilers/llvm/3.5/polly-separate-build.patch
··· 1 + diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt 2 + --- polly-3.4-orig/CMakeLists.txt 2013-11-21 06:51:46.000000000 -0500 3 + +++ polly-3.4/CMakeLists.txt 2014-01-20 18:49:34.907919933 -0500 4 + @@ -53,7 +53,7 @@ 5 + execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags 6 + OUTPUT_VARIABLE LLVM_CXX_FLAGS 7 + OUTPUT_STRIP_TRAILING_WHITESPACE) 8 + - set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}) 9 + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}") 10 + endif(NOT DEFINED LLVM_MAIN_SRC_DIR) 11 + 12 + set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+27
pkgs/development/compilers/llvm/3.5/polly.nix
··· 1 + { stdenv, fetch, cmake, isl, python, gmp, llvm, version }: 2 + 3 + stdenv.mkDerivation { 4 + name = "polly-${version}"; 5 + 6 + src = fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6ll"; 7 + 8 + patches = [ ./polly-separate-build.patch ]; 9 + 10 + buildInputs = [ cmake isl python gmp ]; 11 + 12 + cmakeFlags = [ 13 + "-DCMAKE_BUILD_TYPE=Release" 14 + "-DCMAKE_CXX_FLAGS=-std=c++11" 15 + "-DLLVM_INSTALL_ROOT=${llvm}" 16 + ]; 17 + 18 + enableParallelBuilding = true; 19 + 20 + meta = { 21 + description = "A polyhedral optimizer for llvm"; 22 + homepage = http://llvm.org/; 23 + license = stdenv.lib.licenses.bsd3; 24 + maintainers = [ stdenv.lib.maintainers.shlevy ]; 25 + platforms = stdenv.lib.platforms.all; 26 + }; 27 + }
+2
pkgs/development/interpreters/perl/5.20/default.nix
··· 66 66 ${optionalString stdenv.isArm '' 67 67 configureFlagsArray=(-Dldflags="-lm -lrt") 68 68 ''} 69 + '' + optionalString stdenv.isDarwin '' 70 + substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" 69 71 ''; 70 72 71 73 preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
+2
pkgs/development/libraries/gmp/5.1.x.nix
··· 12 12 13 13 nativeBuildInputs = [ m4 ]; 14 14 15 + patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null; 16 + 15 17 configureFlags = 16 18 # Build a "fat binary", with routines for several sub-architectures 17 19 # (x86), except on Solaris where some tests crash with "Memory fault".
+18
pkgs/development/libraries/gmp/need-size-t.patch
··· 1 + diff --git a/gmp-h.in b/gmp-h.in 2 + index 7deb67a..240d663 100644 3 + --- a/gmp-h.in 4 + +++ b/gmp-h.in 5 + @@ -46,13 +46,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ 6 + #ifndef __GNU_MP__ 7 + #define __GNU_MP__ 5 8 + 9 + -#define __need_size_t /* tell gcc stddef.h we only want size_t */ 10 + #if defined (__cplusplus) 11 + #include <cstddef> /* for size_t */ 12 + #else 13 + #include <stddef.h> /* for size_t */ 14 + #endif 15 + -#undef __need_size_t 16 + 17 + /* Instantiated by configure. */ 18 + #if ! defined (__GMP_WITHIN_CONFIGURE)
pkgs/development/libraries/libc++/darwin.patch pkgs/development/compilers/llvm/3.5/libc++/darwin.patch
+13 -6
pkgs/development/libraries/libc++/default.nix pkgs/development/compilers/llvm/3.5/libc++/default.nix
··· 1 1 { lib, stdenv, fetchurl, cmake, libcxxabi, fixDarwinDylibNames }: 2 2 3 - let version = "3.4.2"; in 3 + let version = "3.5.0"; in 4 4 5 5 stdenv.mkDerivation rec { 6 6 name = "libc++-${version}"; 7 7 8 8 src = fetchurl { 9 - url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz"; 10 - sha256 = "0z3jdvgcq995khkpis5c5vaxhbmvbqjlalbhn09k6pgb5zp46rc2"; 9 + url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.xz"; 10 + sha256 = "1h5is2jd802344kddm45jcm7bra51llsiv9r34h0rrb3ba2dlic0"; 11 11 }; 12 12 13 + # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib, 14 + # force it to link with our copy 15 + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' 16 + substituteInPlace lib/CMakeLists.txt \ 17 + --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \ 18 + 'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \ 19 + --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \ 20 + '"${libcxxabi}/lib/libc++abi.dylib"' 21 + ''; 22 + 13 23 patches = [ ./darwin.patch ]; 14 24 15 25 buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; ··· 25 35 enableParallelBuilding = true; 26 36 27 37 inherit libcxxabi; 28 - 29 - # Remove a Makefile that causes many retained dependencies. 30 - postInstall = "rm $out/include/c++/v1/Makefile"; 31 38 32 39 setupHook = ./setup-hook.sh; 33 40
pkgs/development/libraries/libc++/setup-hook.sh pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
pkgs/development/libraries/libc++abi/darwin.patch pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch
-51
pkgs/development/libraries/libc++abi/default.nix
··· 1 - { lib, stdenv, fetchurl, libcxx, coreutils, gnused }: 2 - 3 - let rev = "199626"; in 4 - 5 - stdenv.mkDerivation { 6 - name = "libc++abi-${rev}"; 7 - 8 - src = fetchurl { 9 - url = "http://tarballs.nixos.org/libcxxabi-${rev}.tar.bz2"; 10 - sha256 = "09wr6qwgmdzbmgfkdzfhph9giy0zd6fp3s017fcfy4g0prjn5s4c"; 11 - }; 12 - 13 - patches = [ ./no-stdc++.patch ./darwin.patch ]; 14 - 15 - buildInputs = [ coreutils ]; 16 - 17 - postUnpack = '' 18 - unpackFile ${libcxx.src} 19 - cp -r libcxx-*/include libcxxabi*/ 20 - '' + lib.optionalString stdenv.isDarwin '' 21 - export TRIPLE=x86_64-apple-darwin 22 - # Hack: NIX_CFLAGS_COMPILE doesn't work here because clang++ isn't 23 - # wrapped at this point. 24 - export CXX="clang++ -D_LIBCXX_DYNAMIC_FALLBACK=1" 25 - unset SDKROOT 26 - ''; 27 - 28 - installPhase = if stdenv.isDarwin 29 - then '' 30 - install -d -m 755 $out/include $out/lib 31 - install -m 644 lib/libc++abi.dylib $out/lib 32 - install -m 644 include/cxxabi.h $out/include 33 - '' 34 - else '' 35 - install -d -m 755 $out/include $out/lib 36 - install -m 644 lib/libc++abi.so.1.0 $out/lib 37 - install -m 644 include/cxxabi.h $out/include 38 - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so 39 - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 40 - ''; 41 - 42 - buildPhase = "(cd lib; ./buildit)"; 43 - 44 - meta = { 45 - homepage = http://libcxxabi.llvm.org/; 46 - description = "A new implementation of low level support for a standard C++ library"; 47 - license = "BSD"; 48 - maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ]; 49 - platforms = stdenv.lib.platforms.unix; 50 - }; 51 - }
pkgs/development/libraries/libc++abi/no-stdc++.patch pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch
+17
pkgs/development/libraries/libunwind/native.nix
··· 1 + { stdenv }: 2 + 3 + assert stdenv.isDarwin; 4 + 5 + stdenv.mkDerivation { 6 + name = "libunwind-native"; 7 + 8 + unpackPhase = ":"; 9 + dontBuild = true; 10 + 11 + installPhase = '' 12 + mkdir -p $out/lib 13 + cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib 14 + ''; 15 + 16 + meta.platforms = stdenv.lib.platforms.darwin; 17 + }
+5 -1
pkgs/development/tools/build-managers/cmake/default.nix
··· 1 1 { stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive 2 - , useNcurses ? false, ncurses, useQt4 ? false, qt4 2 + , useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null 3 3 }: 4 4 5 5 with stdenv.lib; 6 + 7 + assert wantPS -> (ps != null); 6 8 7 9 let 8 10 os = stdenv.lib.optionalString; ··· 42 44 buildInputs = [ curl expat zlib bzip2 libarchive ] 43 45 ++ optional useNcurses ncurses 44 46 ++ optional useQt4 qt4; 47 + 48 + propagatedBuildInputs = optional wantPS ps; 45 49 46 50 CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; 47 51
+35
pkgs/os-specific/darwin/adv_cmds/ps.nix
··· 1 + { stdenv, fetchurl }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "ps-${version}"; 5 + version = "153"; 6 + 7 + src = fetchurl { 8 + url = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-${version}.tar.gz"; 9 + sha256 = "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v"; 10 + }; 11 + 12 + buildPhase = '' 13 + cd ps 14 + cc -Os -Wall -I. -c -o fmt.o fmt.c 15 + cc -Os -Wall -I. -c -o keyword.o keyword.c 16 + cc -Os -Wall -I. -c -o nlist.o nlist.c 17 + cc -Os -Wall -I. -c -o print.o print.c 18 + cc -Os -Wall -I. -c -o ps.o ps.c 19 + cc -Os -Wall -I. -c -o tasks.o tasks.c 20 + cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o 21 + ''; 22 + 23 + installPhase = '' 24 + mkdir -p $out/bin $out/share/man/man1 25 + 26 + cp ps $out/bin/ps 27 + cp ps.1 $out/share/man/man1 28 + ''; 29 + 30 + 31 + meta = { 32 + platforms = stdenv.lib.platforms.darwin; 33 + maintainers = with stdenv.lib.maintainers; [ gridaphobe ]; 34 + }; 35 + }
+46
pkgs/os-specific/darwin/bootstrap-cmds/default.nix
··· 1 + { stdenv, fetchurl, flex, yacc }: 2 + 3 + stdenv.mkDerivation rec { 4 + version = "86"; 5 + name = "bootstrap_cmds-${version}"; 6 + 7 + src = fetchurl { 8 + url = "http://www.opensource.apple.com/tarballs/bootstrap_cmds/${name}.tar.gz"; 9 + sha256 = "0xr0296jm1r3q7kbam98h85g23qlfi763z54ahj563n636kyk2wb"; 10 + }; 11 + 12 + buildInputs = [ flex yacc ]; 13 + 14 + buildPhase = '' 15 + cd migcom.tproj 16 + yacc -d parser.y 17 + flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l 18 + 19 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o error.o error.c 20 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o global.o global.c 21 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o handler.o header.c 22 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o header.o header.c 23 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o mig.o mig.c 24 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o routine.o routine.c 25 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o server.o server.c 26 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o statement.o statement.c 27 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o string.o string.c 28 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o type.o type.c 29 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o user.o user.c 30 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o utils.o utils.c 31 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o lexxer.yy.o lexxer.yy.c 32 + cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o y.tab.o y.tab.c 33 + 34 + cc -dead_strip -o migcom error.o global.o header.o mig.o routine.o server.o statement.o string.o type.o user.o utils.o lexxer.yy.o y.tab.o 35 + ''; 36 + 37 + installPhase = '' 38 + mkdir -p $out/bin $out/libexec $out/share/man/man1 39 + 40 + chmod +x mig.sh 41 + cp mig.sh $out/bin/mig 42 + cp migcom $out/libexec 43 + cp mig.1 $out/share/man/man1 44 + cp migcom.1 $out/share/man/man1 45 + ''; 46 + }
-64
pkgs/os-specific/darwin/cctools-port/default.nix
··· 1 - { stdenv, cross, fetchurl, autoconf, automake, libtool 2 - , libcxx, llvm, clang, openssl, libuuid 3 - , maloader, makeWrapper, xctoolchain 4 - }: 5 - 6 - stdenv.mkDerivation rec { 7 - name = "cctools-port-${version}"; 8 - version = "845"; 9 - 10 - src = fetchurl { 11 - url = "https://github.com/tpoechtrager/cctools-port/archive/" 12 - + "cctools-${version}-ld64-136-1.tar.gz"; 13 - sha256 = "06pg6h1g8avgx4j6cfykdpggf490li796gzhhyqn27jsagli307i"; 14 - }; 15 - 16 - buildInputs = [ 17 - autoconf automake libtool libcxx llvm clang openssl libuuid makeWrapper 18 - ]; 19 - 20 - patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; 21 - 22 - enableParallelBuilding = true; 23 - 24 - postPatch = '' 25 - patchShebangs tools 26 - sed -i -e 's/which/type -P/' tools/*.sh 27 - sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh 28 - 29 - # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157 30 - cat > cctools/include/unistd.h <<EOF 31 - #ifdef __block 32 - # undef __block 33 - # include_next "unistd.h" 34 - # define __block __attribute__((__blocks__(byref))) 35 - #else 36 - # include_next "unistd.h" 37 - #endif 38 - EOF 39 - ''; 40 - 41 - preConfigure = '' 42 - cd cctools 43 - sh autogen.sh 44 - ''; 45 - 46 - configureFlags = [ 47 - "CXXFLAGS=-I${libcxx}/include/c++/v1" 48 - "--target=${cross.config}" 49 - ]; 50 - 51 - postInstall = '' 52 - for tool in dyldinfo dwarfdump dsymutil; do 53 - makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \ 54 - --add-flags "${xctoolchain}/bin/$tool" 55 - ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool" 56 - done 57 - ''; 58 - 59 - meta = { 60 - homepage = "http://www.opensource.apple.com/source/cctools/"; 61 - description = "Mac OS X Compiler Tools (cross-platform port)"; 62 - license = stdenv.lib.licenses.apsl20; 63 - }; 64 - }
pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch
pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
+122
pkgs/os-specific/darwin/cctools/darwin.patch
··· 1 + From b6001ddb935351b4d150546ddab6d25eae05afaa Mon Sep 17 00:00:00 2001 2 + From: Daniel Peebles <pumpkin@me.com> 3 + Date: Sun, 12 Oct 2014 12:23:51 -0400 4 + Subject: [PATCH] work 5 + 6 + --- 7 + cctools/Makefile.am | 2 +- 8 + cctools/configure.ac | 2 -- 9 + cctools/ld64/src/3rd/helper.c | 2 ++ 10 + cctools/ld64/src/3rd/strlcat.c | 2 ++ 11 + cctools/ld64/src/3rd/strlcpy.c | 3 ++- 12 + cctools/ld64/src/ld/Options.cpp | 2 ++ 13 + tools/find_lto_header.sh | 2 +- 14 + 7 files changed, 10 insertions(+), 5 deletions(-) 15 + 16 + diff --git a/cctools/Makefile.am b/cctools/Makefile.am 17 + index 44084ad..34a670c 100644 18 + --- a/cctools/Makefile.am 19 + +++ b/cctools/Makefile.am 20 + @@ -1,2 +1,2 @@ 21 + -SUBDIRS=libstuff ar as misc libobjc2 otool ld64 $(LD_CLASSIC) 22 + +SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC) 23 + ACLOCAL_AMFLAGS = -I m4 24 + diff --git a/cctools/configure.ac b/cctools/configure.ac 25 + index c4f6c47..b641925 100644 26 + --- a/cctools/configure.ac 27 + +++ b/cctools/configure.ac 28 + @@ -278,8 +278,6 @@ AC_CONFIG_FILES([as/ppc/Makefile]) 29 + AC_CONFIG_FILES([as/ppc64/Makefile]) 30 + #AC_CONFIG_FILES([man/Makefile]) 31 + AC_CONFIG_FILES([misc/Makefile]) 32 + -AC_CONFIG_FILES([otool/Makefile]) 33 + -AC_CONFIG_FILES([libobjc2/Makefile]) 34 + AC_CONFIG_FILES([ld/Makefile]) 35 + 36 + 37 + diff --git a/cctools/ld64/src/3rd/helper.c b/cctools/ld64/src/3rd/helper.c 38 + index 19f4be7..bec6869 100644 39 + --- a/cctools/ld64/src/3rd/helper.c 40 + +++ b/cctools/ld64/src/3rd/helper.c 41 + @@ -23,6 +23,7 @@ 42 + const char ldVersionString[] = "236.3\n"; 43 + 44 + 45 + +#if 0 46 + void __assert_rtn(const char *func, const char *file, int line, const char *msg) 47 + { 48 + #ifdef __FreeBSD__ 49 + @@ -33,6 +34,7 @@ void __assert_rtn(const char *func, const char *file, int line, const char *msg) 50 + __assert(msg, file, line); 51 + #endif /* __FreeBSD__ */ 52 + } 53 + +#endif 54 + 55 + int _NSGetExecutablePath(char *path, unsigned int *size) 56 + { 57 + diff --git a/cctools/ld64/src/3rd/strlcat.c b/cctools/ld64/src/3rd/strlcat.c 58 + index 500d038..dadf269 100644 59 + --- a/cctools/ld64/src/3rd/strlcat.c 60 + +++ b/cctools/ld64/src/3rd/strlcat.c 61 + @@ -23,6 +23,7 @@ 62 + 63 + #include <string.h> 64 + 65 + +#if 0 66 + size_t 67 + strlcat(char * restrict dst, const char * restrict src, size_t maxlen) { 68 + const size_t srclen = strlen(src); 69 + @@ -36,3 +37,4 @@ strlcat(char * restrict dst, const char * restrict src, size_t maxlen) { 70 + } 71 + return dstlen + srclen; 72 + } 73 + +#endif 74 + \ No newline at end of file 75 + diff --git a/cctools/ld64/src/3rd/strlcpy.c b/cctools/ld64/src/3rd/strlcpy.c 76 + index c69f107..34a399b 100644 77 + --- a/cctools/ld64/src/3rd/strlcpy.c 78 + +++ b/cctools/ld64/src/3rd/strlcpy.c 79 + @@ -23,6 +23,7 @@ 80 + 81 + #include <string.h> 82 + 83 + +#if 0 84 + size_t 85 + strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) { 86 + const size_t srclen = strlen(src); 87 + @@ -34,4 +35,4 @@ strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) { 88 + } 89 + return srclen; 90 + } 91 + - 92 + +#endif 93 + \ No newline at end of file 94 + diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp 95 + index 3a78df8..0ecf9f2 100644 96 + --- a/cctools/ld64/src/ld/Options.cpp 97 + +++ b/cctools/ld64/src/ld/Options.cpp 98 + @@ -49,6 +49,8 @@ namespace lto { 99 + extern const char* version(); 100 + } 101 + 102 + +#define __MAC_OS_X_VERSION_MIN_REQUIRED 1060 103 + + 104 + // magic to place command line in crash reports 105 + const int crashreporterBufferSize = 2000; 106 + static char crashreporterBuffer[crashreporterBufferSize]; 107 + diff --git a/tools/find_lto_header.sh b/tools/find_lto_header.sh 108 + index aee3a4a..4733981 100755 109 + --- a/tools/find_lto_header.sh 110 + +++ b/tools/find_lto_header.sh 111 + @@ -14,7 +14,7 @@ function try() 112 + # Adding the include directory with -I causes the build to fail. 113 + ln -sf "$LLVM_INC_DIR/llvm-c/lto.h" "include/llvm-c/lto.h" 114 + mkdir -p tmp 115 + - echo -n "-Wl,-rpath,$LLVM_LIB_DIR,--enable-new-dtags -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags 116 + + echo -n "-Wl,-rpath,$LLVM_LIB_DIR -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags 117 + echo -n "-DLTO_SUPPORT=1 " > tmp/cflags 118 + echo -n "-DLTO_SUPPORT=1 " > tmp/cxxflags 119 + echo -n "$LLVM_LIB_DIR" > tmp/ldpath 120 + -- 121 + 1.9.3 (Apple Git-50) 122 +
+80
pkgs/os-specific/darwin/cctools/port.nix
··· 1 + { stdenv, fetchurl, autoconf, automake, libtool 2 + , llvm, libcxx, clang, openssl, libuuid 3 + }: 4 + 5 + let 6 + baseParams = rec { 7 + name = "cctools-port-${version}"; 8 + version = "855"; 9 + 10 + src = let 11 + # Should be fetchFromGitHub but it was whining so this will do for now 12 + owner = "tpoechtrager"; 13 + repo = "cctools-port"; 14 + rev = "7083dddbb0f106d791d313829ea7dc45db90e375"; 15 + in fetchurl { 16 + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; 17 + sha256 = "017gxlcwgi7xhayjzj9w3fac175p2rm4vjzf9cycq9683m9pmyzj"; 18 + }; 19 + 20 + buildInputs = [ 21 + autoconf automake libtool llvm clang openssl libuuid libcxx 22 + ]; 23 + 24 + patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; 25 + 26 + enableParallelBuilding = true; 27 + 28 + postPatch = '' 29 + patchShebangs tools 30 + sed -i -e 's/which/type -P/' tools/*.sh 31 + 32 + # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157 33 + cat > cctools/include/unistd.h <<EOF 34 + #ifdef __block 35 + # undef __block 36 + # include_next "unistd.h" 37 + # define __block __attribute__((__blocks__(byref))) 38 + #else 39 + # include_next "unistd.h" 40 + #endif 41 + EOF 42 + ''; 43 + 44 + preConfigure = '' 45 + cd cctools 46 + sh autogen.sh 47 + ''; 48 + 49 + meta = { 50 + homepage = "http://www.opensource.apple.com/source/cctools/"; 51 + description = "Mac OS X Compiler Tools (cross-platform port)"; 52 + license = stdenv.lib.licenses.apsl20; 53 + }; 54 + }; 55 + in { 56 + # Hacks that for the darwin stdenv (sad that we need write workarounds for what started as a darwin package) 57 + native = stdenv.mkDerivation (baseParams // { 58 + patches = baseParams.patches ++ [ ./darwin.patch ]; 59 + 60 + postInstall = '' 61 + cd $out/bin 62 + for tool in dwarfdump dsymutil; do 63 + ln -s /usr/bin/$tool 64 + done 65 + ''; 66 + }); 67 + 68 + cross = 69 + { cross, maloader, makeWrapper, xctoolchain}: stdenv.mkDerivation (baseParams // { 70 + configureFlags = baseParams.configureFlags ++ [ "--target=${cross.config}" ]; 71 + 72 + postInstall = '' 73 + for tool in dyldinfo dwarfdump dsymutil; do 74 + ${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \ 75 + --add-flags "${xctoolchain}/bin/$tool" 76 + ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool" 77 + done 78 + ''; 79 + }); 80 + }
+19 -47
pkgs/os-specific/darwin/command-line-tools/default.nix
··· 1 - { stdenv, fetchadc, xar, gzip, cpio }: 1 + { stdenv, fetchurl, xar, gzip, cpio }: 2 2 3 3 let 4 - name = "command-line-tools-mac-os-10.9"; 4 + pkg = { name, sha256 }: stdenv.mkDerivation { 5 + inherit name; 5 6 6 - pkg = { installPhase }: stdenv.mkDerivation { 7 - name = "${name}.pkg"; 8 - 9 - phases = [ "installPhase" ]; 10 - 11 - inherit installPhase; 12 - 13 - meta = with stdenv.lib; { 14 - description = "Developer tools .pkg file"; 15 - maintainers = with maintainers; [ copumpkin ]; 16 - platforms = platforms.darwin; 17 - license = licenses.unfree; 7 + src = fetchurl { 8 + url = "http://swcdn.apple.com/content/downloads/00/14/031-07556/i7hoqm3awowxdy48l34uel4qvwhdq8lgam/${name}.pkg"; 9 + inherit sha256; 18 10 }; 19 - }; 20 11 21 - basic = pkg: stdenv.mkDerivation { 22 - inherit name; 12 + buildInputs = [ xar gzip cpio ]; 23 13 24 14 phases = [ "unpackPhase" "installPhase" ]; 25 15 26 - outputs = [ "sdk" "tools" ]; 27 - 28 16 unpackPhase = '' 29 - ${xar}/bin/xar -x -f "${pkg}" 17 + xar -x -f $src 30 18 ''; 31 19 32 20 installPhase = '' 33 21 start="$(pwd)" 34 - mkdir -p $sdk 35 - mkdir -p $tools 36 - 37 - cd $sdk 38 - cat $start/DevSDK_OSX109.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm 39 - 40 - cd $tools 41 - cat $start/CLTools_Executables.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm 22 + mkdir -p $out 23 + cd $out 24 + cat $start/Payload | gzip -d | cpio -idm 42 25 ''; 43 26 44 27 meta = with stdenv.lib; { 45 - description = "Mac OS command-line developer tools and SDK"; 28 + description = "Apple developer tools ${name}"; 46 29 maintainers = with maintainers; [ copumpkin ]; 47 30 platforms = platforms.darwin; 48 - license = licenses.unfree; 49 31 }; 50 32 }; 51 33 in rec { 52 - dmg = fetchadc { 53 - # Isn't this a beautiful path? Note the subtle differences before and after the slash! 54 - path = "Developer_Tools/command_line_tools_os_x_10.9_for_xcode__xcode_6/command_line_tools_for_os_x_10.9_for_xcode_6.dmg"; 55 - sha256 = "0zrpf73r3kfk9pdh6p6j6w1sbw7s2pp0f8rd83660r5hk1y3j5jc"; 34 + tools = pkg { 35 + name = "CLTools_Executables"; 36 + sha256 = "1rqrgip9pwr9d6p1hkd027lzxpymr1qm54jjnkldjjb8m4nps7bp"; 56 37 }; 57 38 58 - pure = { xpwn }: basic (pkg { 59 - installPhase = '' 60 - ${xpwn}/bin/hdutil ${dmg} extract "Command Line Tools (OS X 10.9).pkg" $out 61 - ''; 62 - }); 63 - 64 - impure = basic (pkg { 65 - installPhase = '' 66 - /usr/bin/hdiutil attach ${dmg} -mountpoint clt-mount -nobrowse 67 - cp "clt-mount/Command Line Tools (OS X 10.9).pkg" $out 68 - /usr/bin/hdiutil unmount clt-mount 69 - ''; 70 - }); 39 + sdk = pkg { 40 + name = "DevSDK_OSX109"; 41 + sha256 = "0x6r61h78r5cxk9dbw6fnjpn6ydi4kcajvllpczx3mi52crlkm4x"; 42 + }; 71 43 }
+40
pkgs/os-specific/darwin/libc/default.nix
··· 1 + { stdenv, fetchurl, fetchgit, fetchzip, perl, python }: 2 + 3 + let 4 + osx_sdk = fetchgit { 5 + url = "https://github.com/samdmarshall/OSXPrivateSDK"; 6 + rev = "refs/heads/master"; 7 + sha256 = "04m71xhjyac42h7alxjsqsipq07hm85wibvm3h65dqafcbqkl1i1"; 8 + }; 9 + dispatch = fetchzip { 10 + url = "https://opensource.apple.com/tarballs/libdispatch/libdispatch-339.92.1.tar.gz"; 11 + sha256 = "0faxm4r7lamz57m9pr72jwm0qiwcrcy5dsiff0g9qyfi10pnj5i4"; 12 + }; 13 + in 14 + stdenv.mkDerivation rec { 15 + version = "825.40.1"; 16 + name = "libc-${version}"; 17 + src = fetchurl { 18 + url = "https://opensource.apple.com/tarballs/Libc/Libc-${version}.tar.gz"; 19 + sha256 = "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf"; 20 + }; 21 + 22 + buildInputs = [ perl ]; 23 + 24 + patches = [ ./fileport.patch ]; 25 + 26 + configurePhase = '' 27 + mkdir -p scratch 28 + mkdir -p scratch/System/sys 29 + ln -sv ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders/sys/fsctl.h scratch/System/sys 30 + mkdir tmpbin 31 + ln -s /usr/bin/xcodebuild tmpbin 32 + ln -s /usr/sbin/dtrace tmpbin 33 + export PATH=$PATH:$(pwd -P)/tmpbin 34 + ''; 35 + 36 + buildPhase = '' 37 + BASE=$(pwd -P) 38 + xcodebuild HEADER_SEARCH_PATHS="$BASE/fbsdcompat $BASE/pthreads $BASE/include $BASE/locale $BASE/locale/FreeBSD ${osx_sdk}/usr/local/include ${osx_sdk}/usr/include $BASE/stdtime/FreeBSD $BASE/gen ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders $BASE/scratch ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders/uuid $BASE/gdtoa" 39 + ''; 40 + }
+38
pkgs/os-specific/darwin/libc/fileport.patch
··· 1 + diff --git a/Platforms/macosx/Makefile.inc b/Platforms/macosx/Makefile.inc 2 + index ff3617f..fdda58f 100644 3 + --- a/Platforms/macosx/Makefile.inc 4 + +++ b/Platforms/macosx/Makefile.inc 5 + @@ -41,7 +41,7 @@ FEATURE_PATCH_3417676 = 1 6 + FEATURE_PATCH_5243343 = 1 7 + 8 + # plockstat dtrace support 9 + -FEATURE_PLOCKSTAT = 1 10 + +FEATURE_PLOCKSTAT = 0 11 + 12 + # Timezone change notification 13 + FEATURE_TIMEZONE_CHANGE_NOTIFICATION = 1 14 + diff --git a/gen/asl.c b/gen/asl.c 15 + index 1948c92..53fce02 100644 16 + --- a/gen/asl.c 17 + +++ b/gen/asl.c 18 + @@ -35,6 +35,7 @@ 19 + #include <time.h> 20 + #include <sys/time.h> 21 + #include <sys/fcntl.h> 22 + +#include <sys/fileport.h> 23 + #include <crt_externs.h> 24 + #include <asl.h> 25 + #include <regex.h> 26 + diff --git a/locale/FreeBSD/toupper.c b/locale/FreeBSD/toupper.c 27 + index d02ddd6..e5a1f10 100644 28 + --- a/locale/FreeBSD/toupper.c 29 + +++ b/locale/FreeBSD/toupper.c 30 + @@ -39,6 +39,8 @@ __FBSDID("$FreeBSD: src/lib/libc/locale/toupper.c,v 1.13 2007/01/09 00:28:01 imp 31 + #include <stdio.h> 32 + #include <runetype.h> 33 + 34 + +#define __ct_rune_t ct_rune_t 35 + + 36 + __ct_rune_t 37 + ___toupper_l(c, loc) 38 + __ct_rune_t c;
+129 -32
pkgs/stdenv/darwin/default.nix
··· 1 - { stdenv, pkgs, config 2 - , haveLibCxx ? true 3 - , useClang33 ? true }: 1 + { system ? builtins.currentSystem 2 + , allPackages ? import ../../top-level/all-packages.nix 3 + , platform ? null 4 + , config ? {} 5 + }: 6 + 7 + rec { 8 + allPackages = import ../../top-level/all-packages.nix; 9 + 10 + bootstrapTools = derivation { 11 + inherit system; 12 + 13 + name = "trivial-bootstrap-tools"; 14 + builder = "/bin/sh"; 15 + args = [ ./trivialBootstrap.sh ]; 16 + 17 + mkdir = "/bin/mkdir"; 18 + ln = "/bin/ln"; 19 + }; 20 + 21 + # The simplest stdenv possible to run fetchadc and get the Apple command-line tools 22 + stage0 = rec { 23 + fetchurl = import ../../build-support/fetchurl { 24 + inherit stdenv; 25 + curl = bootstrapTools; 26 + }; 27 + 28 + stdenv = import ../generic { 29 + inherit system config; 30 + name = "stdenv-darwin-boot-0"; 31 + shell = "/bin/bash"; 32 + initialPath = [ bootstrapTools ]; 33 + fetchurlBoot = fetchurl; 34 + cc = "/no-such-path"; 35 + }; 36 + }; 37 + 38 + buildTools = import ../../os-specific/darwin/command-line-tools { 39 + inherit (stage0) stdenv fetchurl; 40 + xar = bootstrapTools; 41 + gzip = bootstrapTools; 42 + cpio = bootstrapTools; 43 + }; 4 44 5 - import ../generic rec { 6 - inherit config; 45 + preHook = '' 46 + export NIX_IGNORE_LD_THROUGH_GCC=1 47 + export NIX_DONT_SET_RPATH=1 48 + export NIX_NO_SELF_RPATH=1 49 + dontFixLibtool=1 50 + stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" 51 + xargsFlags=" " 52 + export MACOSX_DEPLOYMENT_TARGET=10.7 53 + export SDKROOT= 54 + export SDKROOT_X=/ # FIXME: impure! 55 + export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT_X/usr/include -F$SDKROOT_X/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations" 56 + export NIX_LDFLAGS_AFTER+=" -L$SDKROOT_X/usr/lib" 57 + export CMAKE_OSX_ARCHITECTURES=x86_64 58 + ''; 7 59 8 - preHook = 9 - '' 10 - export NIX_ENFORCE_PURITY= 11 - export NIX_IGNORE_LD_THROUGH_GCC=1 12 - export NIX_DONT_SET_RPATH=1 13 - export NIX_NO_SELF_RPATH=1 14 - ${import ./prehook.nix} 15 - ''; 60 + # A stdenv that wraps the Apple command-line tools and our other trivial symlinked bootstrap tools 61 + stage1 = rec { 62 + nativePrefix = "${buildTools.tools}/Library/Developer/CommandLineTools/usr"; 63 + 64 + stdenv = import ../generic { 65 + name = "stdenv-darwin-boot-1"; 66 + 67 + inherit system config; 68 + inherit (stage0.stdenv) shell initialPath fetchurlBoot; 69 + 70 + preHook = preHook + "\n" + '' 71 + export NIX_LDFLAGS_AFTER+=" -L/usr/lib" 72 + export NIX_ENFORCE_PURITY= 73 + export NIX_CFLAGS_COMPILE+=" -isystem ${nativePrefix}/include/c++/v1 -stdlib=libc++" 74 + export NIX_CFLAGS_LINK+=" -stdlib=libc++ -Wl,-rpath,${nativePrefix}/lib" 75 + ''; 76 + 77 + cc = import ../../build-support/cc-wrapper { 78 + nativeTools = true; 79 + nativePrefix = nativePrefix; 80 + nativeLibc = true; 81 + stdenv = stage0.stdenv; 82 + shell = "/bin/bash"; 83 + cc = { 84 + name = "clang-9.9.9"; 85 + cc = "/usr"; 86 + outPath = "${buildTools.tools}/Library/Developer/CommandLineTools/usr"; 87 + }; 88 + }; 89 + }; 90 + pkgs = allPackages { 91 + inherit system platform; 92 + bootStdenv = stdenv; 93 + }; 94 + }; 16 95 17 - initialPath = (import ../common-path.nix) {pkgs = pkgs;}; 96 + stage2 = rec { 97 + stdenv = import ../generic { 98 + name = "stdenv-darwin-boot-2"; 18 99 19 - system = stdenv.system; 100 + inherit system config; 101 + inherit (stage1.stdenv) shell fetchurlBoot preHook cc; 20 102 21 - cc = import ../../build-support/cc-wrapper { 22 - nativeTools = false; 23 - nativeLibc = true; 24 - inherit stdenv; 25 - extraPackages = stdenv.lib.optional haveLibCxx pkgs.libcxx; 26 - binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}; 27 - cc = if useClang33 then pkgs.clang_33.cc else pkgs.clang.cc; 28 - coreutils = pkgs.coreutils; 29 - shell = pkgs.bash + "/bin/sh"; 103 + initialPath = [ stage1.pkgs.xz ] ++ stage1.stdenv.initialPath; 104 + }; 105 + pkgs = allPackages { 106 + inherit system platform; 107 + bootStdenv = stdenv; 108 + }; 30 109 }; 31 110 32 - shell = pkgs.bash + "/bin/sh"; 111 + # Use stage1 to build a whole set of actual tools so we don't have to rely on the Apple prebuilt ones or 112 + # the ugly symlinked bootstrap tools anymore. 113 + stage3 = with stage2; import ../generic { 114 + name = "stdenv-darwin-boot-3"; 33 115 34 - fetchurlBoot = stdenv.fetchurlBoot; 116 + inherit system config; 117 + inherit (stdenv) fetchurlBoot; 35 118 36 - overrides = pkgs_: { 37 - inherit cc; 38 - inherit (cc) binutils; 39 - inherit (pkgs) 40 - gzip bzip2 xz bash coreutils diffutils findutils gawk 41 - gnumake gnused gnutar gnugrep gnupatch perl libcxx libcxxabi; 119 + initialPath = (import ../common-path.nix) { inherit pkgs; }; 120 + 121 + preHook = preHook + "\n" + '' 122 + export NIX_ENFORCE_PURITY=1 123 + ''; 124 + 125 + cc = import ../../build-support/cc-wrapper { 126 + inherit stdenv; 127 + nativeTools = false; 128 + nativeLibc = true; 129 + binutils = pkgs.darwin.cctools_native; 130 + cc = pkgs.llvmPackages.clang; 131 + coreutils = pkgs.coreutils; 132 + shell = "${pkgs.bash}/bin/bash"; 133 + extraPackages = [ pkgs.libcxx ]; 134 + }; 135 + 136 + shell = "${pkgs.bash}/bin/bash"; 42 137 }; 138 + 139 + stdenvDarwin = stage3; 43 140 }
+66
pkgs/stdenv/darwin/trivialBootstrap.sh
··· 1 + 2 + # Building bootstrap tools 3 + echo Building the trivial bootstrap environment... 4 + $mkdir -p $out/bin 5 + 6 + $ln -s $ln $out/bin/ln 7 + 8 + PATH=$out/bin/ 9 + 10 + cd $out/bin 11 + 12 + ln -s $mkdir 13 + ln -s /bin/sh 14 + ln -s /bin/cp 15 + ln -s /bin/mv 16 + ln -s /bin/rm 17 + ln -s /bin/ls 18 + ln -s /bin/ps 19 + ln -s /bin/cat 20 + ln -s /bin/bash 21 + ln -s /bin/echo 22 + ln -s /bin/expr 23 + ln -s /bin/test 24 + ln -s /bin/date 25 + ln -s /bin/chmod 26 + ln -s /bin/rmdir 27 + ln -s /bin/sleep 28 + ln -s /bin/hostname 29 + 30 + ln -s /usr/bin/id 31 + ln -s /usr/bin/od 32 + ln -s /usr/bin/tr 33 + ln -s /usr/bin/wc 34 + ln -s /usr/bin/cut 35 + ln -s /usr/bin/cmp 36 + ln -s /usr/bin/sed 37 + ln -s /usr/bin/tar 38 + ln -s /usr/bin/xar 39 + ln -s /usr/bin/awk 40 + ln -s /usr/bin/env 41 + ln -s /usr/bin/tee 42 + ln -s /usr/bin/comm 43 + ln -s /usr/bin/cpio 44 + ln -s /usr/bin/curl 45 + ln -s /usr/bin/find 46 + ln -s /usr/bin/grep 47 + ln -s /usr/bin/gzip 48 + ln -s /usr/bin/head 49 + ln -s /usr/bin/tail 50 + ln -s /usr/bin/sort 51 + ln -s /usr/bin/uniq 52 + ln -s /usr/bin/less 53 + ln -s /usr/bin/true 54 + ln -s /usr/bin/diff 55 + ln -s /usr/bin/egrep 56 + ln -s /usr/bin/fgrep 57 + ln -s /usr/bin/patch 58 + ln -s /usr/bin/uname 59 + ln -s /usr/bin/touch 60 + ln -s /usr/bin/split 61 + ln -s /usr/bin/xargs 62 + ln -s /usr/bin/which 63 + ln -s /usr/bin/install 64 + ln -s /usr/bin/basename 65 + ln -s /usr/bin/dirname 66 + ln -s /usr/bin/readlink
+2 -21
pkgs/stdenv/default.nix
··· 33 33 pkgs = stdenvNativePkgs; 34 34 }; 35 35 36 - stdenvDarwin = import ./darwin { 37 - inherit config; 38 - stdenv = stdenvNative; 39 - pkgs = stdenvNativePkgs; 40 - }; 41 - 42 - stdenvDarwinNaked = import ./darwin { 43 - inherit config; 44 - stdenv = stdenvNative; 45 - pkgs = stdenvNativePkgs; 46 - haveLibCxx = false; 47 - }; 48 - 49 - stdenvDarwin33 = import ./darwin { 50 - inherit config; 51 - stdenv = stdenvNative; 52 - pkgs = stdenvNativePkgs; 53 - useClang33 = true; 54 - }; 55 - 56 - 57 36 # Linux standard environment. 58 37 stdenvLinux = (import ./linux { inherit system allPackages platform config lib; }).stdenvLinux; 59 38 39 + # Darwin standard environment. 40 + stdenvDarwin = (import ./darwin { inherit system allPackages platform config;}).stdenvDarwin; 60 41 61 42 # Select the appropriate stdenv for the platform `system'. 62 43 stdenv =
+47 -110
pkgs/top-level/all-packages.nix
··· 15 15 , # Non-GNU/Linux OSes are currently "impure" platforms, with their libc 16 16 # outside of the store. Thus, GCC, GFortran, & co. must always look for 17 17 # files in standard system directories (/usr/include, etc.) 18 - noSysDirs ? (system != "x86_64-darwin" 19 - && system != "x86_64-freebsd" && system != "i686-freebsd" 18 + noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd" 20 19 && system != "x86_64-kfreebsd-gnu") 21 20 22 21 # More flags for the bootstrapping of stdenv. ··· 2092 2091 2093 2092 openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); 2094 2093 2095 - opensp = callPackage ../tools/text/sgml/opensp { 2096 - stdenv = if stdenv.isDarwin 2097 - then allStdenvs.stdenvDarwinNaked 2098 - else stdenv; 2099 - }; 2094 + opensp = callPackage ../tools/text/sgml/opensp { }; 2100 2095 2101 2096 spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { }; 2102 2097 ··· 3109 3104 3110 3105 clang = wrapCC llvmPackages.clang; 3111 3106 3107 + clang_35 = wrapCC llvmPackages_35.clang; 3112 3108 clang_34 = wrapCC llvmPackages_34.clang; 3113 3109 clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); 3114 3110 ··· 3642 3638 3643 3639 llvm_v = path: callPackage path { }; 3644 3640 3645 - llvmPackages = llvmPackages_34; 3641 + llvmPackages = if stdenv.isDarwin then llvmPackages_35 else llvmPackages_34; 3646 3642 3647 3643 llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { 3648 3644 inherit stdenv newScope fetchurl; 3649 3645 isl = isl_0_12; 3650 3646 }); 3651 3647 llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; 3648 + 3649 + llvmPackages_35 = import ../development/compilers/llvm/3.5 { 3650 + inherit pkgs stdenv newScope fetchurl isl; 3651 + }; 3652 3652 3653 3653 manticore = callPackage ../development/compilers/manticore { }; 3654 3654 ··· 4655 4655 4656 4656 ctodo = callPackage ../applications/misc/ctodo { }; 4657 4657 4658 - cmake = callPackage ../development/tools/build-managers/cmake { }; 4658 + cmake = callPackage ../development/tools/build-managers/cmake { 4659 + wantPS = stdenv.isDarwin; 4660 + ps = if stdenv.isDarwin then darwin.ps else null; 4661 + }; 4659 4662 4660 4663 cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { }; 4661 4664 cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; ··· 4682 4685 4683 4686 csslint = callPackage ../development/web/csslint { }; 4684 4687 4685 - libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; }; 4686 - libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; }; 4688 + libcxx = llvmPackages_35.libcxx; 4689 + libcxxabi = llvmPackages_35.libcxxabi; 4687 4690 4688 4691 libsigrok = callPackage ../development/tools/libsigrok { }; 4689 4692 ··· 4891 4894 4892 4895 peg = callPackage ../development/tools/parsing/peg { }; 4893 4896 4894 - phantomjs = callPackage ../development/tools/phantomjs { 4895 - stdenv = if stdenv.isDarwin 4896 - then overrideCC stdenv gccApple 4897 - else stdenv; 4898 - }; 4897 + phantomjs = callPackage ../development/tools/phantomjs { }; 4899 4898 4900 4899 pmccabe = callPackage ../development/tools/misc/pmccabe { }; 4901 4900 ··· 5046 5045 target = crossSystem; 5047 5046 }); 5048 5047 5049 - valgrind = callPackage ../development/tools/analysis/valgrind { 5050 - stdenv = 5051 - # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for 5052 - # `__private_extern'.) 5053 - if stdenv.isDarwin 5054 - then overrideCC stdenv gccApple 5055 - else stdenv; 5056 - }; 5048 + valgrind = callPackage ../development/tools/analysis/valgrind { }; 5057 5049 5058 5050 valkyrie = callPackage ../development/tools/analysis/valkyrie { }; 5059 5051 ··· 5259 5251 5260 5252 coredumper = callPackage ../development/libraries/coredumper { }; 5261 5253 5262 - ctl = dropCxx (callPackage ../development/libraries/ctl { }); 5254 + ctl = callPackage ../development/libraries/ctl { }; 5263 5255 5264 5256 cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; 5265 5257 ··· 5371 5363 5372 5364 ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { 5373 5365 vpxSupport = !stdenv.isMips; 5374 - 5375 - stdenv = if stdenv.isDarwin 5376 - then overrideCC stdenv gccApple 5377 - else stdenv; 5378 5366 }; 5379 5367 5380 5368 ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix { ··· 5685 5673 5686 5674 pangox_compat = callPackage ../development/libraries/pangox-compat { }; 5687 5675 5688 - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { 5689 - # workaround signal 10 in gdk_pixbuf tests 5690 - stdenv = if stdenv.isDarwin 5691 - then clangStdenv 5692 - else stdenv; 5693 - }; 5676 + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { }; 5694 5677 5695 5678 gnome-sharp = callPackage ../development/libraries/gnome-sharp {}; 5696 5679 ··· 5790 5773 5791 5774 ilixi = callPackage ../development/libraries/ilixi { }; 5792 5775 5793 - ilmbase = dropCxx (callPackage ../development/libraries/ilmbase { }); 5776 + ilmbase = callPackage ../development/libraries/ilmbase { }; 5794 5777 5795 5778 imlib = callPackage ../development/libraries/imlib { 5796 5779 libpng = libpng12; ··· 5994 5977 5995 5978 libdc1394avt = callPackage ../development/libraries/libdc1394avt { }; 5996 5979 5997 - libdevil = dropCxx (callPackage ../development/libraries/libdevil { }); 5980 + libdevil = callPackage ../development/libraries/libdevil { }; 5998 5981 5999 5982 libdiscid = callPackage ../development/libraries/libdiscid { }; 6000 5983 ··· 6276 6259 6277 6260 libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; 6278 6261 6279 - libmikmod = callPackage ../development/libraries/libmikmod { 6280 - # resolve the "stray '@' in program" errors 6281 - stdenv = if stdenv.isDarwin 6282 - then overrideCC stdenv gccApple 6283 - else stdenv; 6284 - }; 6262 + libmikmod = callPackage ../development/libraries/libmikmod { }; 6285 6263 6286 6264 libmilter = callPackage ../development/libraries/libmilter { }; 6287 6265 ··· 6453 6431 6454 6432 libtomcrypt = callPackage ../development/libraries/libtomcrypt { }; 6455 6433 6456 - libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { 6457 - # fix "unrecognized option -arch" error 6458 - stdenv = if stdenv.isDarwin 6459 - then clangStdenv 6460 - else stdenv; 6461 - }; 6434 + libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { }; 6462 6435 6463 6436 libtorrentRasterbar_0_16 = callPackage ../development/libraries/libtorrent-rasterbar/0.16.nix { 6464 6437 # fix "unrecognized option -arch" error ··· 6501 6474 6502 6475 libusb = callPackage ../development/libraries/libusb {}; 6503 6476 6504 - libusb1 = callPackage ../development/libraries/libusb1 { 6505 - stdenv = if stdenv.isDarwin 6506 - then clangStdenv 6507 - else stdenv; 6508 - }; 6477 + libusb1 = callPackage ../development/libraries/libusb1 { }; 6478 + 6479 + libunwind = if stdenv.isDarwin 6480 + then callPackage ../development/libraries/libunwind/native.nix {} 6481 + else callPackage ../development/libraries/libunwind { }; 6509 6482 6510 - libunwind = callPackage ../development/libraries/libunwind { }; 6483 + libunwindNative = callPackage ../development/libraries/libunwind/native.nix {}; 6511 6484 6512 6485 libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv { }); 6513 6486 ··· 6649 6622 # makes it slower, but during runtime we link against just mesa_drivers 6650 6623 # through /run/opengl-driver*, which is overriden according to config.grsecurity 6651 6624 grsecEnabled = true; 6625 + llvm = llvm_34; 6652 6626 }); 6653 6627 mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); 6654 6628 mesa_drivers = mesaDarwinOr ( ··· 6821 6795 # this ctl version is needed by openexr_viewers 6822 6796 openexr_ctl = callPackage ../development/libraries/openexr_ctl { }; 6823 6797 6824 - openexr = dropCxx (callPackage ../development/libraries/openexr { }); 6798 + openexr = callPackage ../development/libraries/openexr { }; 6825 6799 6826 - openldap = callPackage ../development/libraries/openldap { 6827 - stdenv = if stdenv.isDarwin 6828 - then clangStdenv 6829 - else stdenv; 6830 - }; 6800 + openldap = callPackage ../development/libraries/openldap { }; 6831 6801 6832 6802 openlierox = callPackage ../games/openlierox { }; 6833 6803 ··· 6926 6896 6927 6897 popt = callPackage ../development/libraries/popt { }; 6928 6898 6929 - portaudio = callPackage ../development/libraries/portaudio { 6930 - # resolves a variety of compile-time errors 6931 - stdenv = if stdenv.isDarwin 6932 - then clangStdenv 6933 - else stdenv; 6934 - }; 6899 + portaudio = callPackage ../development/libraries/portaudio { }; 6935 6900 6936 6901 portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { }; 6937 6902 ··· 6981 6946 mesa = mesa_noglu; 6982 6947 inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; 6983 6948 cups = if stdenv.isLinux then cups else null; 6984 - 6985 - # resolve unrecognised flag '-fconstant-cfstrings' errors 6986 - stdenv = if stdenv.isDarwin 6987 - then clangStdenv 6988 - else stdenv; 6989 6949 }; 6990 6950 6991 6951 qt48Full = appendToName "full" (qt48.override { ··· 7104 7064 7105 7065 SDL_gfx = callPackage ../development/libraries/SDL_gfx { }; 7106 7066 7107 - SDL_image = callPackage ../development/libraries/SDL_image { 7108 - # provide an Objective-C compiler 7109 - stdenv = if stdenv.isDarwin 7110 - then clangStdenv 7111 - else stdenv; 7112 - }; 7067 + SDL_image = callPackage ../development/libraries/SDL_image { }; 7113 7068 7114 7069 SDL_mixer = callPackage ../development/libraries/SDL_mixer { }; 7115 7070 ··· 7217 7172 ncurses = null; 7218 7173 }); 7219 7174 7220 - stfl = callPackage ../development/libraries/stfl { 7221 - stdenv = if stdenv.isDarwin 7222 - then overrideCC stdenv gccApple 7223 - else stdenv; 7224 - }; 7175 + stfl = callPackage ../development/libraries/stfl { }; 7225 7176 7226 7177 stlink = callPackage ../development/tools/misc/stlink { }; 7227 7178 ··· 7396 7347 wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { 7397 7348 inherit (gnome) GConf; 7398 7349 withMesa = lib.elem system lib.platforms.mesaPlatforms; 7399 - 7400 - # use for Objective-C++ compiler 7401 - stdenv = if stdenv.isDarwin 7402 - then clangStdenv 7403 - else stdenv; 7404 7350 }; 7405 7351 7406 7352 wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix { 7407 7353 inherit (gnome) GConf; 7408 7354 withMesa = lib.elem system lib.platforms.mesaPlatforms; 7409 - 7410 - # use for Objective-C++ compiler 7411 - stdenv = if stdenv.isDarwin 7412 - then clangStdenv 7413 - else stdenv; 7414 7355 }; 7415 7356 7416 7357 wtk = callPackage ../development/libraries/wtk { }; ··· 7726 7667 7727 7668 rhpl = callPackage ../development/python-modules/rhpl { }; 7728 7669 7729 - pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { 7730 - stdenv = if stdenv.isDarwin 7731 - then clangStdenv 7732 - else stdenv; 7733 - }; 7670 + pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { }; 7734 7671 7735 7672 pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; 7736 7673 ··· 8371 8308 cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; 8372 8309 8373 8310 darwin = let 8374 - cmdline = (callPackage ../os-specific/darwin/command-line-tools {}).pure { inherit xpwn; }; 8311 + cmdline = callPackage ../os-specific/darwin/command-line-tools {}; 8375 8312 in rec { 8376 - cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port { 8313 + 8314 + cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix { 8377 8315 cross = assert crossSystem != null; crossSystem; 8378 8316 inherit maloader; 8379 8317 xctoolchain = xcode.toolchain; 8380 8318 }); 8381 8319 8320 + cctools_native = (callPackage ../os-specific/darwin/cctools/port.nix {}).native; 8321 + 8382 8322 maloader = callPackage ../os-specific/darwin/maloader { 8383 8323 inherit opencflite; 8384 8324 }; ··· 8386 8326 opencflite = callPackage ../os-specific/darwin/opencflite {}; 8387 8327 8388 8328 xcode = callPackage ../os-specific/darwin/xcode {}; 8329 + 8330 + libc = callPackage ../os-specific/darwin/libc {}; 8389 8331 8390 8332 osx_sdk = callPackage ../os-specific/darwin/osx-sdk {}; 8391 8333 osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; }; 8334 + 8335 + ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {}; 8336 + bootstrap_cmds = callPackage ../os-specific/darwin/bootstrap-cmds {}; 8392 8337 8393 8338 security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; }; 8394 8339 ··· 10403 10348 10404 10349 iptraf = callPackage ../applications/networking/iptraf { }; 10405 10350 10406 - irssi = callPackage ../applications/networking/irc/irssi { 10407 - # compile with gccApple on darwin to support the -no-cpp-precompile flag 10408 - stdenv = if stdenv.isDarwin 10409 - then stdenvAdapters.overrideCC stdenv gccApple 10410 - else stdenv; 10411 - }; 10351 + irssi = callPackage ../applications/networking/irc/irssi { }; 10412 10352 10413 10353 irssi_fish = callPackage ../applications/networking/irc/irssi/fish { }; 10414 10354 ··· 11465 11405 11466 11406 # optional features by flags 11467 11407 flags = [ "python" "X11" ]; # only flag "X11" by now 11468 - 11469 - # so that we can use gccApple if we're building on darwin 11470 - inherit stdenvAdapters gccApple; 11471 11408 }); 11472 11409 11473 11410 vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; }); ··· 11480 11417 inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu 11481 11418 libICE; 11482 11419 11483 - inherit (pkgs) stdenvAdapters gccApple; 11420 + inherit (pkgs) stdenvAdapters; 11484 11421 11485 11422 features = "huge"; # one of tiny, small, normal, big or huge 11486 11423 lua = pkgs.lua5;