diff options
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch | 63 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/clang/default.nix | 85 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/clang/purity.patch | 16 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/default.nix | 59 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/libc++/darwin.patch | 39 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/libc++/default.nix | 52 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh | 6 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch | 19 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/libc++abi.nix | 52 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/lldb.nix | 57 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/llvm-outputs.patch | 26 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.9/llvm.nix | 174 | ||||
-rw-r--r-- | pkgs/test/default.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 10 | ||||
-rw-r--r-- | pkgs/top-level/release.nix | 6 |
15 files changed, 0 insertions, 666 deletions
diff --git a/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch b/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch deleted file mode 100644 index 1058cd0317672..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/clang/0001-Fix-compilation-w-gcc9.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 7225c7754cc3431d05df367c60f309f27586f188 Mon Sep 17 00:00:00 2001 -From: Maximilian Bosch <maximilian@mbosch.me> -Date: Mon, 30 Dec 2019 01:42:52 +0100 -Subject: [PATCH] Fix compilation w/gcc9 - -Build broken with the following errors: - -``` -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function: -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6078:55: error: lambda parameter 'CGF' previously declared as a capture -clang> 6078 | &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) { -clang> | ~~~~~~~~~~~~~~~~~^~~ -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function: -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6126:53: error: lambda parameter 'CGF' previously declared as a capture -clang> 6126 | &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) { -clang> | ~~~~~~~~~~~~~~~~~^~~ -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp: In lambda function: -clang> /build/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6191:56: error: lambda parameter 'CGF' previously declared as a capture -clang> 6191 | auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) { -clang> | ~~~~~~~~~~~~~~~~~^~~ -``` - -This was due to a bug about name-collisions fixed in GCC 9.0[1]. - -[1] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2211 ---- - lib/CodeGen/CGOpenMPRuntime.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/CodeGen/CGOpenMPRuntime.cpp b/lib/CodeGen/CGOpenMPRuntime.cpp -index 6a0edbe..96c281c 100644 ---- a/lib/CodeGen/CGOpenMPRuntime.cpp -+++ b/lib/CodeGen/CGOpenMPRuntime.cpp -@@ -6073,7 +6073,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(CodeGenFunction &CGF, - // Generate the code for the opening of the data environment. Capture all the - // arguments of the runtime call by reference because they are used in the - // closing of the region. -- auto &&BeginThenGen = [&D, &CGF, &BasePointersArray, &PointersArray, -+ auto &&BeginThenGen = [&D, &BasePointersArray, &PointersArray, - &SizesArray, &MapTypesArray, Device, - &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) { - // Fill up the arrays with all the mapped variables. -@@ -6121,7 +6121,7 @@ void CGOpenMPRuntime::emitTargetDataCalls(CodeGenFunction &CGF, - }; - - // Generate code for the closing of the data region. -- auto &&EndThenGen = [&CGF, &BasePointersArray, &PointersArray, &SizesArray, -+ auto &&EndThenGen = [&BasePointersArray, &PointersArray, &SizesArray, - &MapTypesArray, Device, - &NumOfPtrs](CodeGenFunction &CGF, PrePostActionTy &) { - assert(BasePointersArray && PointersArray && SizesArray && MapTypesArray && -@@ -6188,7 +6188,7 @@ void CGOpenMPRuntime::emitTargetDataStandAloneCall( - "Expecting either target enter, exit data, or update directives."); - - // Generate the code for the opening of the data environment. -- auto &&ThenGen = [&D, &CGF, Device](CodeGenFunction &CGF, PrePostActionTy &) { -+ auto &&ThenGen = [&D, Device](CodeGenFunction &CGF, PrePostActionTy &) { - // Fill up the arrays with all the mapped variables. - MappableExprsHandler::MapValuesArrayTy BasePointers; - MappableExprsHandler::MapValuesArrayTy Pointers; --- -2.23.1 - diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix deleted file mode 100644 index 1666b3d842d95..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/clang/default.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python }: - -let - gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; - self = stdenv.mkDerivation { - pname = "clang"; - inherit version; - - src = fetch "cfe" "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76"; - - unpackPhase = '' - unpackFile $src - mv cfe-${version}.src clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - ''; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ libxml2 llvm python ]; - - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" - ] ++ - # Maybe with compiler-rt this won't be needed? - (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++ - (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); - - patches = [ - ./purity.patch - ./0001-Fix-compilation-w-gcc9.patch - ]; - - postPatch = '' - sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/Tools.cpp - ''; - - outputs = [ "out" "lib" "python" ]; - - # Clang expects to find LLVMgold in its own prefix - # Clang expects to find sanitizer libraries in its own prefix - postInstall = '' - if [ -e ${llvm}/lib/LLVMgold.so ]; then - ln -sv ${llvm}/lib/LLVMgold.so $out/lib - fi - - ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." - - mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - - rm $out/bin/c-index-test - ''; - - enableParallelBuilding = true; - - passthru = { - isClang = true; - inherit llvm; - } // stdenv.lib.optionalAttrs stdenv.isLinux { - inherit gcc; - }; - - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; - }; - }; -in self diff --git a/pkgs/development/compilers/llvm/3.9/clang/purity.patch b/pkgs/development/compilers/llvm/3.9/clang/purity.patch deleted file mode 100644 index f5fb4c73af478..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/clang/purity.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/lib/Driver/Tools.cpp 2016-08-25 15:48:05.187553443 +0200 -+++ b/lib/Driver/Tools.cpp 2016-08-25 15:48:47.534468882 +0200 -@@ -9420,13 +9420,6 @@ - if (!Args.hasArg(options::OPT_static)) { - if (Args.hasArg(options::OPT_rdynamic)) - CmdArgs.push_back("-export-dynamic"); -- -- if (!Args.hasArg(options::OPT_shared)) { -- const std::string Loader = -- D.DyldPrefix + ToolChain.getDynamicLinker(Args); -- CmdArgs.push_back("-dynamic-linker"); -- CmdArgs.push_back(Args.MakeArgString(Loader)); -- } - } - - CmdArgs.push_back("-o"); diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix deleted file mode 100644 index 752790cdd853c..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith -, buildLlvmTools # tools, but from the previous stage, for cross -, targetLlvmLibraries # libraries, but from the next stage, for cross -}: - -let - version = "3.9.1"; - - fetch = fetch_v version; - fetch_v = ver: name: sha256: fetchurl { - url = "https://releases.llvm.org/${version}/${name}-${ver}.src.tar.xz"; - inherit sha256; - }; - - compiler-rt_src = fetch "compiler-rt" "16gc2gdmp5c800qvydrdhsp0bzb97s8wrakl6i8a4lgslnqnf2fk"; - clang-tools-extra_src = fetch "clang-tools-extra" "0d9nh7j7brbh9avigcn69dlaihsl9p3cf9s45mw6fxzzvrdvd999"; - - tools = stdenv.lib.makeExtensible (tools: let - callPackage = newScope (tools // { inherit stdenv isl version fetch; }); - in { - llvm = callPackage ./llvm.nix { - inherit compiler-rt_src; - }; - - clang-unwrapped = callPackage ./clang { - inherit clang-tools-extra_src; - }; - - libclang = tools.clang-unwrapped.lib; - - clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang; - - libstdcxxClang = wrapCCWith { - cc = tools.clang-unwrapped; - extraPackages = [ libstdcxxHook ]; - }; - - libcxxClang = wrapCCWith { - cc = tools.clang-unwrapped; - extraPackages = [ targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi ]; - }; - - lldb = callPackage ./lldb.nix {}; - }); - - libraries = stdenv.lib.makeExtensible (libraries: let - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; }); - in { - - stdenv = overrideCC stdenv buildLlvmTools.clang; - - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - - libcxx = callPackage ./libc++ {}; - - libcxxabi = callPackage ./libc++abi.nix {}; - }); - -in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/3.9/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.9/libc++/darwin.patch deleted file mode 100644 index 6dd756f01cc2a..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/libc++/darwin.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- libcxx-3.8.0.src.org/lib/CMakeLists.txt 2015-12-16 15:41:05.000000000 -0800 -+++ libcxx-3.8.0.src/lib/CMakeLists.txt 2016-06-17 19:40:00.293394500 -0700 -@@ -94,30 +94,30 @@ - add_definitions(-D__STRICT_ANSI__) - add_link_flags( - "-compatibility_version 1" - "-current_version 1" -- "-install_name /usr/lib/libc++.1.dylib" -- "-Wl,-reexport_library,/usr/lib/libc++abi.dylib" -+ "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib" -+ "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" - "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" - "/usr/lib/libSystem.B.dylib") - else() - if ( ${CMAKE_OSX_SYSROOT} ) - list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7) - if (OSX_HAS_ARMV7) - set(OSX_RE_EXPORT_LINE -- "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib" -+ "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" - "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp") - else() - set(OSX_RE_EXPORT_LINE -- "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib") -+ "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib") - endif() - else() -- set(OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") -+ set(OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") - endif() - - add_link_flags( - "-compatibility_version 1" -- "-install_name /usr/lib/libc++.1.dylib" -+ "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib" - "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" - "${OSX_RE_EXPORT_LINE}" - "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/notweak.exp" - "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/weak.exp") diff --git a/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/pkgs/development/compilers/llvm/3.9/libc++/default.nix deleted file mode 100644 index 9d82aa230357a..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/libc++/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: - -stdenv.mkDerivation { - pname = "libc++"; - inherit version; - - src = fetch "libcxx" "0qbl3afl2p2h87p977lsqr5kykl6cgjpkzczs0g6a3pn53j1bri5"; - - postUnpack = '' - unpackFile ${libcxxabi.src} - ''; - - preConfigure = '' - # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package - cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include") - ''; - - patches = [ - # glibc 2.26 fix - ./xlocale-glibc-2.26.patch - ] - ++ lib.optional stdenv.isDarwin ./darwin.patch - ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - ../../libcxx-0001-musl-hacks.patch - ../../libcxx-max_align_t.patch - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; - - cmakeFlags = [ - "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" - "-DLIBCXX_LIBCPPABI_VERSION=2" - "-DLIBCXX_CXX_ABI=libcxxabi" - ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"; - - enableParallelBuilding = true; - - linkCxxAbi = stdenv.isLinux; - - setupHooks = [ - ../../../../../build-support/setup-hooks/role.bash - ./setup-hook.sh - ]; - - meta = { - homepage = http://libcxx.llvm.org/; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with stdenv.lib.licenses; [ ncsa mit ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh deleted file mode 100644 index 6611259165ae2..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh +++ /dev/null @@ -1,6 +0,0 @@ -# See pkgs/build-support/setup-hooks/role.bash -getHostRole - -linkCxxAbi="@linkCxxAbi@" -export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1" -export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}" diff --git a/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch deleted file mode 100644 index 4cc042554c85f..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/include/__locale b/include/__locale -index 7bc701d..ea75c86 100644 ---- a/include/__locale -+++ b/include/__locale -@@ -34,12 +34,12 @@ - # include <support/solaris/xlocale.h> - #elif defined(_NEWLIB_VERSION) - # include <support/newlib/xlocale.h> --#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ -+#elif (defined(__APPLE__) || defined(__FreeBSD__) \ - || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) - # include <xlocale.h> - #elif defined(_LIBCPP_HAS_MUSL_LIBC) - # include <support/musl/xlocale.h> --#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__ -+#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__ - - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) - #pragma GCC system_header diff --git a/pkgs/development/compilers/llvm/3.9/libc++abi.nix b/pkgs/development/compilers/llvm/3.9/libc++abi.nix deleted file mode 100644 index f799199d449f7..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/libc++abi.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: - -stdenv.mkDerivation { - pname = "libc++abi"; - inherit version; - - src = fetch "libcxxabi" "1qi9q06zanqm8awzq83810avmvi52air6gr9zfip8mbg5viqn3cj"; - - nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; - - postUnpack = '' - unpackFile ${libcxx.src} - unpackFile ${llvm.src} - export NIX_CFLAGS_COMPILE+=" -I$PWD/include" - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include" - '' + stdenv.lib.optionalString stdenv.isDarwin '' - export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} - patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-max_align_t.patch} - ''; - - installPhase = if stdenv.isDarwin - then '' - for file in lib/*.dylib; do - # this should be done in CMake, but having trouble figuring out - # the magic combination of necessary CMake variables - # if you fancy a try, take a look at - # http://www.cmake.org/Wiki/CMake_RPATH_handling - install_name_tool -id $out/$file $file - done - make install - install -d 755 $out/include - install -m 644 ../include/*.h $out/include - '' - else '' - install -d -m 755 $out/include $out/lib - install -m 644 lib/libc++abi.so.1.0 $out/lib - install -m 644 ../include/cxxabi.h $out/include - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 - ''; - - meta = { - homepage = http://libcxxabi.llvm.org/; - description = "A new implementation of low level support for a standard C++ library"; - license = with stdenv.lib.licenses; [ ncsa mit ]; - maintainers = with stdenv.lib.maintainers; [ vlstill ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/compilers/llvm/3.9/lldb.nix b/pkgs/development/compilers/llvm/3.9/lldb.nix deleted file mode 100644 index 1a7c9aeead869..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/lldb.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ stdenv -, fetch -, cmake -, zlib -, ncurses -, swig -, which -, libedit -, llvm -, clang-unwrapped -, python -, version -}: - -stdenv.mkDerivation { - pname = "lldb"; - inherit version; - - src = fetch "lldb" "1z30ljmcpp261bjng1i5k3bb9jkrs1cr97z04qs4s3zql6r12cvy"; - - postUnpack = '' - # Hack around broken standalone build as of 3.8 - unpackFile ${llvm.src} - srcDir="$(ls -d lldb-*.src)" - mkdir -p "$srcDir/tools/lib/Support" - cp "$(ls -d llvm-*.src)/lib/Support/regex_impl.h" "$srcDir/tools/lib/Support/" - - # Fix up various paths that assume llvm and clang are installed in the same place - substituteInPlace $srcDir/cmake/modules/LLDBStandalone.cmake \ - --replace CheckAtomic $(readlink -f llvm-*.src)/cmake/modules/CheckAtomic.cmake - sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ - $srcDir/cmake/modules/LLDBStandalone.cmake - sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \ - $srcDir/cmake/modules/LLDBStandalone.cmake - sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \ - $srcDir/cmake/modules/LLDBStandalone.cmake - ''; - - buildInputs = [ cmake python which swig ncurses zlib libedit llvm ]; - - CXXFLAGS = "-fno-rtti"; - hardeningDisable = [ "format" ]; - - cmakeFlags = [ - "-DLLVM_MAIN_INCLUDE_DIR=${llvm}/include" - "-DLLDB_DISABLE_LIBEDIT=1" # https://llvm.org/bugs/show_bug.cgi?id=28898 - ]; - - enableParallelBuilding = true; - - meta = { - description = "A next-generation high-performance debugger"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/3.9/llvm-outputs.patch b/pkgs/development/compilers/llvm/3.9/llvm-outputs.patch deleted file mode 100644 index 40096fa3497fd..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/llvm-outputs.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 94d426b..37f7794 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -333,6 +333,21 @@ int main(int argc, char **argv) { - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -+ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared -+ if (!IsInDevelopmentTree) { -+ bool WantShared = true; -+ for (int i = 1; i < argc; ++i) { -+ StringRef Arg = argv[i]; -+ if (Arg == "--link-shared") -+ WantShared = true; -+ else if (Arg == "--link-static") -+ WantShared = false; // the last one wins -+ } -+ -+ if (WantShared) -+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX; -+ } -+ - /// We only use `shared library` mode in cases where the static library form - /// of the components provided are not available; note however that this is - /// skipped if we're run from within the build dir. However, once installed, diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix deleted file mode 100644 index 474cfcde9c0b0..0000000000000 --- a/pkgs/development/compilers/llvm/3.9/llvm.nix +++ /dev/null @@ -1,174 +0,0 @@ -{ stdenv -, fetch -, fetchpatch -, perl -, groff -, cmake -, python -, libffi -, libbfd -, libxml2 -, ncurses -, version -, zlib -, compiler-rt_src -, debugVersion ? false -, enableSharedLibraries ? (stdenv.buildPlatform == stdenv.hostPlatform) -, buildPackages -}: - -assert (stdenv.hostPlatform != stdenv.buildPlatform) -> !enableSharedLibraries; - -let - # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with stdenv.lib; - let parts = splitVersion version; in - imap (i: _: concatStringsSep "." (take i parts)) parts; -in - -stdenv.mkDerivation { - pname = "llvm"; - inherit version; - - src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"; - - unpackPhase = '' - unpackFile $src - mv llvm-${version}.src llvm - sourceRoot=$PWD/llvm - unpackFile ${compiler-rt_src} - mv compiler-rt-* $sourceRoot/projects/compiler-rt - ''; - - outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib"; - - nativeBuildInputs = [ - perl - cmake - python - ]; - - buildInputs = [ - groff - libxml2 - libffi - ]; - - propagatedBuildInputs = [ ncurses zlib ]; - - patches = [ - # fix output of llvm-config (fixed in llvm 4.0) - (fetchpatch { - url = https://github.com/llvm-mirror/llvm/commit/5340b5b3d970069aebf3dde49d8964583742e01a.patch; - sha256 = "095f8knplwqbc2p7rad1kq8633i34qynni9jna93an7kyc80wdxl"; - }) - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - ../TLI-musl.patch - ../dynamiclibrary-musl.patch - ]; - - postPatch = "" - + '' - patch -p1 --reverse < ${fetchpatch { - name = "fix-red-icons.diff"; # https://bugs.freedesktop.org/show_bug.cgi?id=99078 - url = https://github.com/llvm-mirror/llvm/commit/c280d74837d8.diff; - sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf"; - }} - '' - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. I realize that this LLVM isn't used in the stdenv but I want to - # keep it consistent with 4.0. We really shouldn't be copying and pasting all this code around... - + stdenv.lib.optionalString stdenv.isDarwin '' - substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - - substituteInPlace CMakeLists.txt \ - --replace 'set(CMAKE_INSTALL_NAME_DIR "@rpath")' "set(CMAKE_INSTALL_NAME_DIR "$lib/lib")" \ - --replace 'set(CMAKE_INSTALL_RPATH "@executable_path/../lib")' "" - '' - # Patch llvm-config to return correct library path based on --link-{shared,static}. - + stdenv.lib.optionalString (enableSharedLibraries) '' - substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib - patch -p1 < ./llvm-outputs.patch - '' - + '' - ( - cd projects/compiler-rt - patch -p1 < ${ - fetchpatch { - name = "sigaltstack.patch"; # for glibc-2.26 - url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff; - sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi"; - } - } - substituteInPlace lib/esan/esan_sideline_linux.cpp \ - --replace 'struct sigaltstack' 'stack_t' - ) - ''; - - # hacky fix: created binaries need to be run before installation - preBuild = '' - mkdir -p $out/ - ln -sv $PWD/lib $out - ''; - - cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" - "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" - "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code - - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optional enableSharedLibraries [ - "-DLLVM_LINK_LLVM_DYLIB=ON" - ] ++ stdenv.lib.optional (!isDarwin) - "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ stdenv.lib.optionals (isDarwin) [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DCAN_TARGET_i386=false" - ] ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-DCMAKE_CROSSCOMPILING=True" - "-DLLVM_TABLEGEN=${buildPackages.llvmPackages_39.llvm}/bin/llvm-tblgen" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - # Not yet supported - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - - ]; - - postBuild = '' - rm -fR $out - ''; - - postInstall = "" - + stdenv.lib.optionalString (enableSharedLibraries) '' - moveToOutput "lib/libLLVM-*" "$lib" - moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" - substituteInPlace "$out/lib/cmake/llvm/LLVMExports-release.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" - '' - + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' - substituteInPlace "$out/lib/cmake/llvm/LLVMExports-release.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ${stdenv.lib.concatMapStringsSep "\n" (v: '' - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib - '') versionSuffixes} - ''; - - enableParallelBuilding = true; - - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin ]; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index f62d208d22daa..da4c7bc55486a 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -10,8 +10,6 @@ with pkgs; cc-wrapper-gcc9 = callPackage ./cc-wrapper { stdenv = gcc9Stdenv; }; cc-wrapper-clang = callPackage ./cc-wrapper { stdenv = llvmPackages.stdenv; }; cc-wrapper-libcxx = callPackage ./cc-wrapper { stdenv = llvmPackages.libcxxStdenv; }; - cc-wrapper-clang-39 = callPackage ./cc-wrapper { stdenv = llvmPackages_39.stdenv; }; - cc-wrapper-libcxx-39 = callPackage ./cc-wrapper { stdenv = llvmPackages_39.libcxxStdenv; }; cc-wrapper-clang-4 = callPackage ./cc-wrapper { stdenv = llvmPackages_4.stdenv; }; cc-wrapper-libcxx-4 = callPackage ./cc-wrapper { stdenv = llvmPackages_4.libcxxStdenv; }; cc-wrapper-clang-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.stdenv; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72d8f3d767b65..c779d1f22dbcb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7827,7 +7827,6 @@ in clang_6 = llvmPackages_6.clang; clang_5 = llvmPackages_5.clang; clang_4 = llvmPackages_4.clang; - clang_39 = llvmPackages_39.clang; clang-tools = callPackage ../development/tools/clang-tools { llvmPackages = llvmPackages_latest; @@ -8546,18 +8545,9 @@ in llvm_6 = llvmPackages_6.llvm; llvm_5 = llvmPackages_5.llvm; llvm_4 = llvmPackages_4.llvm; - llvm_39 = llvmPackages_39.llvm; llvmPackages = recurseIntoAttrs llvmPackages_7; - llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({ - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages.llvmPackages_39.tools; - targetLlvmLibraries = targetPackages.llvmPackages_39.libraries; - } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) { - stdenv = gcc6Stdenv; - }); - llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({ inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_4.tools; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 6ada2ca6d184b..eceff2c53a469 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -76,8 +76,6 @@ let jobs.tests.cc-wrapper.x86_64-darwin jobs.tests.cc-wrapper-clang.x86_64-darwin jobs.tests.cc-wrapper-libcxx.x86_64-darwin - jobs.tests.cc-wrapper-clang-39.x86_64-darwin - jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin jobs.tests.patch-shebangs.x86_64-darwin @@ -116,8 +114,6 @@ let jobs.tests.cc-wrapper-clang.x86_64-linux jobs.tests.cc-wrapper-libcxx.x86_64-linux - jobs.tests.cc-wrapper-clang-39.x86_64-linux - jobs.tests.cc-wrapper-libcxx-39.x86_64-linux jobs.tests.cc-wrapper-clang-4.x86_64-linux jobs.tests.cc-wrapper-libcxx-4.x86_64-linux jobs.tests.cc-wrapper-clang-5.x86_64-linux @@ -149,8 +145,6 @@ let # jobs.tests.cc-wrapper-gcc8.x86_64-darwin jobs.tests.cc-wrapper-clang.x86_64-darwin jobs.tests.cc-wrapper-libcxx.x86_64-darwin - jobs.tests.cc-wrapper-clang-39.x86_64-darwin - jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin jobs.tests.cc-wrapper-clang-4.x86_64-darwin jobs.tests.cc-wrapper-libcxx-4.x86_64-darwin jobs.tests.cc-wrapper-clang-5.x86_64-darwin |