From dbf3d3172760b0f61569026d47f0fd3a9c814cfa Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Tue, 3 Feb 2015 14:09:38 -0800 Subject: [PATCH] make llvm-3.5 the default and remove references to gccApple make perl be less dumb revert change to release.nix --- .../interpreters/perl/5.20/default.nix | 2 + .../libraries/libunwind/native.nix | 17 ++ .../tools/build-managers/cmake/default.nix | 6 +- pkgs/top-level/all-packages.nix | 153 ++++++------------ 4 files changed, 69 insertions(+), 109 deletions(-) create mode 100644 pkgs/development/libraries/libunwind/native.nix diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix index 4ec1f08f15d7..058b1776c666 100644 --- a/pkgs/development/interpreters/perl/5.20/default.nix +++ b/pkgs/development/interpreters/perl/5.20/default.nix @@ -66,6 +66,8 @@ stdenv.mkDerivation rec { ${optionalString stdenv.isArm '' configureFlagsArray=(-Dldflags="-lm -lrt") ''} + '' + optionalString stdenv.isDarwin '' + substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" ''; preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools)) diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix new file mode 100644 index 000000000000..6ce485ecaec0 --- /dev/null +++ b/pkgs/development/libraries/libunwind/native.nix @@ -0,0 +1,17 @@ +{ stdenv }: + +assert stdenv.isDarwin; + +stdenv.mkDerivation { + name = "libunwind-native"; + + unpackPhase = ":"; + dontBuild = true; + + installPhase = '' + mkdir -p $out/lib + cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib + ''; + + meta.platforms = stdenv.lib.platforms.darwin; +} diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 45dffe06676b..60a941a66375 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,9 +1,11 @@ { stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive -, useNcurses ? false, ncurses, useQt4 ? false, qt4 +, useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null }: with stdenv.lib; +assert wantPS -> (ps != null); + let os = stdenv.lib.optionalString; majorVersion = "2.8"; @@ -43,6 +45,8 @@ stdenv.mkDerivation rec { ++ optional useNcurses ncurses ++ optional useQt4 qt4; + propagatedBuildInputs = optional wantPS ps; + CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; configureFlags = diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f105c3976634..63b259ad3d03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15,8 +15,7 @@ , # Non-GNU/Linux OSes are currently "impure" platforms, with their libc # outside of the store. Thus, GCC, GFortran, & co. must always look for # files in standard system directories (/usr/include, etc.) - noSysDirs ? (system != "x86_64-darwin" - && system != "x86_64-freebsd" && system != "i686-freebsd" + noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd" && system != "x86_64-kfreebsd-gnu") # More flags for the bootstrapping of stdenv. @@ -2092,11 +2091,7 @@ let openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); - opensp = callPackage ../tools/text/sgml/opensp { - stdenv = if stdenv.isDarwin - then allStdenvs.stdenvDarwinNaked - else stdenv; - }; + opensp = callPackage ../tools/text/sgml/opensp { }; spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { }; @@ -3109,6 +3104,7 @@ let clang = wrapCC llvmPackages.clang; + clang_35 = wrapCC llvmPackages_35.clang; clang_34 = wrapCC llvmPackages_34.clang; clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); @@ -3642,7 +3638,7 @@ let llvm_v = path: callPackage path { }; - llvmPackages = llvmPackages_34; + llvmPackages = llvmPackages_35; llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { inherit stdenv newScope fetchurl; @@ -3650,6 +3646,10 @@ let }); llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; + llvmPackages_35 = import ../development/compilers/llvm/3.5 { + inherit stdenv newScope fetchurl isl; + }; + manticore = callPackage ../development/compilers/manticore { }; mentorToolchains = recurseIntoAttrs ( @@ -4655,7 +4655,10 @@ let ctodo = callPackage ../applications/misc/ctodo { }; - cmake = callPackage ../development/tools/build-managers/cmake { }; + cmake = callPackage ../development/tools/build-managers/cmake { + wantPS = stdenv.isDarwin; + ps = if stdenv.isDarwin then darwin.ps else null; + }; cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { }; cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; @@ -4891,11 +4894,7 @@ let peg = callPackage ../development/tools/parsing/peg { }; - phantomjs = callPackage ../development/tools/phantomjs { - stdenv = if stdenv.isDarwin - then overrideCC stdenv gccApple - else stdenv; - }; + phantomjs = callPackage ../development/tools/phantomjs { }; pmccabe = callPackage ../development/tools/misc/pmccabe { }; @@ -5046,14 +5045,7 @@ let target = crossSystem; }); - valgrind = callPackage ../development/tools/analysis/valgrind { - stdenv = - # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for - # `__private_extern'.) - if stdenv.isDarwin - then overrideCC stdenv gccApple - else stdenv; - }; + valgrind = callPackage ../development/tools/analysis/valgrind { }; valkyrie = callPackage ../development/tools/analysis/valkyrie { }; @@ -5259,7 +5251,7 @@ let coredumper = callPackage ../development/libraries/coredumper { }; - ctl = dropCxx (callPackage ../development/libraries/ctl { }); + ctl = callPackage ../development/libraries/ctl { }; cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; @@ -5371,10 +5363,6 @@ let ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { vpxSupport = !stdenv.isMips; - - stdenv = if stdenv.isDarwin - then overrideCC stdenv gccApple - else stdenv; }; ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix { @@ -5685,12 +5673,7 @@ let pangox_compat = callPackage ../development/libraries/pangox-compat { }; - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { - # workaround signal 10 in gdk_pixbuf tests - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { }; gnome-sharp = callPackage ../development/libraries/gnome-sharp {}; @@ -5790,7 +5773,7 @@ let ilixi = callPackage ../development/libraries/ilixi { }; - ilmbase = dropCxx (callPackage ../development/libraries/ilmbase { }); + ilmbase = callPackage ../development/libraries/ilmbase { }; imlib = callPackage ../development/libraries/imlib { libpng = libpng12; @@ -5994,7 +5977,7 @@ let libdc1394avt = callPackage ../development/libraries/libdc1394avt { }; - libdevil = dropCxx (callPackage ../development/libraries/libdevil { }); + libdevil = callPackage ../development/libraries/libdevil { }; libdiscid = callPackage ../development/libraries/libdiscid { }; @@ -6276,12 +6259,7 @@ let libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; - libmikmod = callPackage ../development/libraries/libmikmod { - # resolve the "stray '@' in program" errors - stdenv = if stdenv.isDarwin - then overrideCC stdenv gccApple - else stdenv; - }; + libmikmod = callPackage ../development/libraries/libmikmod { }; libmilter = callPackage ../development/libraries/libmilter { }; @@ -6453,12 +6431,7 @@ let libtomcrypt = callPackage ../development/libraries/libtomcrypt { }; - libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { - # fix "unrecognized option -arch" error - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { }; libtorrentRasterbar_0_16 = callPackage ../development/libraries/libtorrent-rasterbar/0.16.nix { # fix "unrecognized option -arch" error @@ -6501,13 +6474,13 @@ let libusb = callPackage ../development/libraries/libusb {}; - libusb1 = callPackage ../development/libraries/libusb1 { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + libusb1 = callPackage ../development/libraries/libusb1 { }; - libunwind = callPackage ../development/libraries/libunwind { }; + libunwind = if stdenv.isDarwin + then callPackage ../development/libraries/libunwind/native.nix {} + else callPackage ../development/libraries/libunwind { }; + + libunwindNative = callPackage ../development/libraries/libunwind/native.nix {}; libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv { }); @@ -6649,6 +6622,7 @@ let # makes it slower, but during runtime we link against just mesa_drivers # through /run/opengl-driver*, which is overriden according to config.grsecurity grsecEnabled = true; + llvm = llvm_34; }); mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); mesa_drivers = mesaDarwinOr ( @@ -6821,13 +6795,9 @@ let # this ctl version is needed by openexr_viewers openexr_ctl = callPackage ../development/libraries/openexr_ctl { }; - openexr = dropCxx (callPackage ../development/libraries/openexr { }); + openexr = callPackage ../development/libraries/openexr { }; - openldap = callPackage ../development/libraries/openldap { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + openldap = callPackage ../development/libraries/openldap { }; openlierox = callPackage ../games/openlierox { }; @@ -6926,12 +6896,7 @@ let popt = callPackage ../development/libraries/popt { }; - portaudio = callPackage ../development/libraries/portaudio { - # resolves a variety of compile-time errors - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + portaudio = callPackage ../development/libraries/portaudio { }; portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { }; @@ -6981,11 +6946,6 @@ let mesa = mesa_noglu; inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; cups = if stdenv.isLinux then cups else null; - - # resolve unrecognised flag '-fconstant-cfstrings' errors - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; }; qt48Full = appendToName "full" (qt48.override { @@ -7104,12 +7064,7 @@ let SDL_gfx = callPackage ../development/libraries/SDL_gfx { }; - SDL_image = callPackage ../development/libraries/SDL_image { - # provide an Objective-C compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + SDL_image = callPackage ../development/libraries/SDL_image { }; SDL_mixer = callPackage ../development/libraries/SDL_mixer { }; @@ -7217,11 +7172,7 @@ let ncurses = null; }); - stfl = callPackage ../development/libraries/stfl { - stdenv = if stdenv.isDarwin - then overrideCC stdenv gccApple - else stdenv; - }; + stfl = callPackage ../development/libraries/stfl { }; stlink = callPackage ../development/tools/misc/stlink { }; @@ -7396,21 +7347,11 @@ let wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { inherit (gnome) GConf; withMesa = lib.elem system lib.platforms.mesaPlatforms; - - # use for Objective-C++ compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; }; wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix { inherit (gnome) GConf; withMesa = lib.elem system lib.platforms.mesaPlatforms; - - # use for Objective-C++ compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; }; wtk = callPackage ../development/libraries/wtk { }; @@ -7726,11 +7667,7 @@ let rhpl = callPackage ../development/python-modules/rhpl { }; - pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { }; pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; @@ -8367,14 +8304,17 @@ let cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; darwin = let - cmdline = (callPackage ../os-specific/darwin/command-line-tools {}).pure { inherit xpwn; }; + cmdline = callPackage ../os-specific/darwin/command-line-tools {}; in rec { - cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port { + + cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix { cross = assert crossSystem != null; crossSystem; inherit maloader; xctoolchain = xcode.toolchain; }); + cctools_native = (callPackage ../os-specific/darwin/cctools/port.nix {}).native; + maloader = callPackage ../os-specific/darwin/maloader { inherit opencflite; }; @@ -8383,9 +8323,14 @@ let xcode = callPackage ../os-specific/darwin/xcode {}; + libc = callPackage ../os-specific/darwin/libc {}; + osx_sdk = callPackage ../os-specific/darwin/osx-sdk {}; osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; }; + ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {}; + bootstrap_cmds = callPackage ../os-specific/darwin/bootstrap-cmds {}; + security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; }; cmdline_sdk = cmdline.sdk; @@ -10400,12 +10345,7 @@ let iptraf = callPackage ../applications/networking/iptraf { }; - irssi = callPackage ../applications/networking/irc/irssi { - # compile with gccApple on darwin to support the -no-cpp-precompile flag - stdenv = if stdenv.isDarwin - then stdenvAdapters.overrideCC stdenv gccApple - else stdenv; - }; + irssi = callPackage ../applications/networking/irc/irssi { }; irssi_fish = callPackage ../applications/networking/irc/irssi/fish { }; @@ -11462,9 +11402,6 @@ let # optional features by flags flags = [ "python" "X11" ]; # only flag "X11" by now - - # so that we can use gccApple if we're building on darwin - inherit stdenvAdapters gccApple; }); vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; }); @@ -11477,7 +11414,7 @@ let inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu libICE; - inherit (pkgs) stdenvAdapters gccApple; + inherit (pkgs) stdenvAdapters; features = "huge"; # one of tiny, small, normal, big or huge lua = pkgs.lua5;