diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/llvm')
72 files changed, 537 insertions, 639 deletions
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix index fef7720d726d..35b7ab313d8e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false }: @@ -19,8 +19,8 @@ let ''; nativeBuildInputs = [ cmake python3 lld ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm ]; @@ -28,7 +28,7 @@ let "-DCMAKE_CXX_FLAGS=-std=c++14" "-DCLANGD_BUILD_XPC=OFF" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" @@ -49,9 +49,9 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace tools/extra/clangd/CMakeLists.txt \ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; @@ -82,8 +82,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -92,10 +90,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt.nix index e6882cbabb8b..37515b5039d8 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetch pname "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -53,8 +53,8 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15 - ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks @@ -62,13 +62,13 @@ stdenv.mkDerivation rec { # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -78,14 +78,13 @@ stdenv.mkDerivation rec { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix index 3d2cb3544b9f..978f28956664 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "06n1yp638rh24xdxv9v2df0qajxbjz4w59b7dd4ky36drwmpi4yh"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -26,8 +26,6 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -101,15 +99,15 @@ let extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt - ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ targetLlvmLibraries.libunwind ]; extraBuildCommands = '' echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; @@ -161,12 +159,12 @@ let }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { compiler-rt = callPackage ./compiler-rt.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; })); @@ -175,12 +173,12 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxx = callPackage ./libc++ ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); libcxxabi = callPackage ./libc++abi.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); @@ -188,7 +186,7 @@ let openmp = callPackage ./openmp.nix {}; libunwind = callPackage ./libunwind.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/libc++/default.nix index 3511783be896..a3fb09273451 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/libc++/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; preConfigure = '' # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package @@ -22,8 +22,8 @@ stdenv.mkDerivation { patchShebangs utils/cat_files.py ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ]; @@ -31,15 +31,13 @@ stdenv.mkDerivation { "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" "-DLIBCXX_LIBCPPABI_VERSION=2" "-DLIBCXX_CXX_ABI=libcxxabi" - ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" - ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [ + ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ lib.optional stdenv.hostPlatform.isWasm [ "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; - - enableParallelBuilding = true; + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; passthru = { isLLVM = true; @@ -48,7 +46,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/10/libc++abi.nix index 7335d06e4fe3..61f778fbc55d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -9,15 +9,15 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "0yqs722y76cwvmfsq0lb917r9m3fci7bf5z3yzl71yz9n88ghzm9"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [ + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optionals (!enableShared) [ + ] ++ lib.optionals (!enableShared) [ "-DLIBCXXABI_ENABLE_SHARED=OFF" ]; @@ -27,11 +27,11 @@ stdenv.mkDerivation { unpackFile ${libcxx.src} unpackFile ${llvm.src} cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm '' + '' + lib.optionalString stdenv.hostPlatform.isWasm '' patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch} ''; @@ -52,7 +52,7 @@ stdenv.mkDerivation { install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib install -m 644 ../include/cxxabi.h $out/include - '' + stdenv.lib.optionalString enableShared '' + '' + lib.optionalString enableShared '' install -m 644 lib/libc++abi.so.1.0 $out/lib 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 @@ -61,8 +61,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/10/libunwind.nix index 75e42260b7fa..f0f45780a22c 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/libunwind.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/libunwind.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -10,7 +10,5 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - enableParallelBuilding = true; - - cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/10/lld.nix index 5d513462820e..a94c1b5b0dd3 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -17,8 +17,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation rec { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/10/lldb.nix index c728efeb2a9b..e7dd48a23ce7 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , zlib @@ -25,7 +25,7 @@ stdenv.mkDerivation (rec { patches = [ ./lldb-procfs.patch ]; nativeBuildInputs = [ cmake python3 which swig lit ] - ++ stdenv.lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; + ++ lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; buildInputs = [ ncurses @@ -34,7 +34,7 @@ stdenv.mkDerivation (rec { libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation @@ -49,18 +49,16 @@ stdenv.mkDerivation (rec { "-DLLVM_ENABLE_RTTI=OFF" "-DClang_DIR=${clang-unwrapped}/lib/cmake" "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON" - ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ + ] ++ lib.optionals (!stdenv.isDarwin) [ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" ]; - enableParallelBuilding = true; - postInstall = '' # Editor support # vscode: @@ -69,13 +67,13 @@ stdenv.mkDerivation (rec { ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://lldb.llvm.org"; license = licenses.ncsa; platforms = platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "lldb-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/10/llvm.nix index 7394d4033d21..e951375a833e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , python3 @@ -22,10 +22,10 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; + shortVersion = with lib; concatStringsSep "." (take 1 (splitString "." release_version)); in stdenv.mkDerivation (rec { @@ -154,17 +154,15 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/10/openmp.nix index 0927448d2b49..2946c51fafe2 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/10/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/10/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix index 2de5f65b4a13..3a3e384ad982 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false }: @@ -8,27 +8,27 @@ let pname = "clang"; inherit version; - src = fetch "clang" "02ajkij85966vd150iy246mv16dsaph1kfi0y8wnncp8w6nar5hg"; + src = fetch "clang" "0kab4zmkxffg98a3rx95756jlwhxflalin5w05g1anpwxv175xbk"; inherit clang-tools-extra_src; unpackPhase = '' unpackFile $src - mv clang-${version}* clang + mv clang-* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} mv clang-tools-extra-* $sourceRoot/tools/extra ''; nativeBuildInputs = [ cmake python3 lld ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++14" "-DCLANGD_BUILD_XPC=OFF" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" @@ -48,9 +48,9 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace tools/extra/clangd/CMakeLists.txt \ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; @@ -81,8 +81,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -91,10 +89,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt.nix index b8a5fcd5661c..091f327550b8 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -11,10 +11,10 @@ in stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; - src = fetch pname "0d5j5l8phwqjjscmk8rmqn0i2i0abl537gdbkagl8fjpzy1gyjip"; + src = fetch pname "1z470r8c5aahdwkmflglx998n0i77j8b1c69d7cir1kf27qy6yq8"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ + ] ++ lib.optionals (stdenv.isDarwin) [ "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" ]; @@ -50,8 +50,8 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./compiler-rt-X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks @@ -59,15 +59,15 @@ stdenv.mkDerivation rec { # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(ARM64 arm64 arm64e)' 'set(ARM64)' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -77,14 +77,13 @@ stdenv.mkDerivation rec { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix index e6765ec68990..ca9ef4382b4b 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -6,18 +6,20 @@ }: let - release_version = "11.0.0"; - version = release_version; # differentiating these (variables) is important for RCs + release_version = "11.0.1"; + candidate = ""; # empty or "rcN" + dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; + version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs targetConfig = stdenv.targetPlatform.config; fetch = name: sha256: fetchurl { - url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz"; + url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/${name}-${release_version}${candidate}.src.tar.xz"; inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "02bcwwn54661madhq4nxc069s7p7pj5gpqi8ww50w3anbpviilzy"; + clang-tools-extra_src = fetch "clang-tools-extra" "1j8n6n4l54k2lrdxh266y1fl4z8vy5dc76wsf0csk5n3ikfi38ic"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -26,8 +28,6 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -101,15 +101,15 @@ let extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt - ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ targetLlvmLibraries.libunwind ]; extraBuildCommands = '' echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; @@ -161,12 +161,12 @@ let }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { compiler-rt = callPackage ./compiler-rt.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; })); @@ -175,12 +175,12 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxx = callPackage ./libc++ ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); libcxxabi = callPackage ./libc++abi.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); @@ -188,7 +188,7 @@ let openmp = callPackage ./openmp.nix {}; libunwind = callPackage ./libunwind.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/libc++/default.nix index 5c3ec87617c9..7a34977afe24 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/libc++/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "libc++"; inherit version; - src = fetch "libcxx" "0ylbkcd38zrrz9xmkq9na3d9s8d96hc286dwfwd73wi205lyc7kc"; + src = fetch "libcxx" "0gaybwkn76vhakvipxslp7pmv2wm7agxkqwk5f5aizhzc9lzdmcz"; postUnpack = '' unpackFile ${libcxxabi.src} @@ -15,7 +15,7 @@ stdenv.mkDerivation { mv llvm-* llvm ''; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' patchShebangs utils/cat_files.py @@ -28,15 +28,13 @@ stdenv.mkDerivation { cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" - ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" - ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [ + ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ lib.optional stdenv.hostPlatform.isWasm [ "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; - - enableParallelBuilding = true; + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; passthru = { isLLVM = true; @@ -45,7 +43,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/11/libc++abi.nix index d173b1735cbe..22e4ac4abe4c 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -6,18 +6,18 @@ stdenv.mkDerivation { pname = "libc++abi"; inherit version; - src = fetch "libcxxabi" "05ac7rkjbla03bc0lf92f901dfjgxdvp8cr9fpn59a5p4x27ssaq"; + src = fetch "libcxxabi" "0gv8pxq95gvsybldj21hdfkmm0r5cn1z7jhd72l231n0lmb70saa"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [ + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optionals (!enableShared) [ + ] ++ lib.optionals (!enableShared) [ "-DLIBCXXABI_ENABLE_SHARED=OFF" ]; @@ -28,11 +28,11 @@ stdenv.mkDerivation { mv libcxx-* libcxx unpackFile ${llvm.src} mv llvm-* llvm - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d libcxx -i ${../libcxx-0001-musl-hacks.patch} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm '' + '' + lib.optionalString stdenv.hostPlatform.isWasm '' patch -p1 -d llvm -i ${./libcxxabi-wasm.patch} ''; @@ -53,7 +53,7 @@ stdenv.mkDerivation { install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib install -m 644 ../include/cxxabi.h $out/include - '' + stdenv.lib.optionalString enableShared '' + '' + lib.optionalString enableShared '' install -m 644 lib/libc++abi.so.1.0 $out/lib 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 @@ -62,8 +62,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/11/libunwind.nix index b22da214417f..1b5fe0f57880 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/libunwind.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/libunwind.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -6,11 +6,9 @@ stdenv.mkDerivation rec { pname = "libunwind"; inherit version; - src = fetch pname "0bwjd2xf51r2apn8p0f9shb6nc8hnqzq1n9gggjvyjmi6cf02mc4"; + src = fetch pname "0zsixkaiwp007afxlpsf5dc7wfrv8sj9wxzjw6f1r4bjv1rv3cvd"; nativeBuildInputs = [ cmake ]; - enableParallelBuilding = true; - - cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/11/lld.nix index 20eb87c548f6..cead886f49b7 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -10,15 +10,13 @@ stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch pname "077xyh7sij6mhp4dc4kdcmp9whrpz332fa12rwxnzp3wgd5bxrzg"; + src = fetch pname "1dq82dkam8x2niha18v7ckh30zmzyclydzipqkf7h41r3ah0vfk0"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation rec { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix index 0ae55d45349a..fcc73cfdeb6d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , zlib @@ -20,12 +20,12 @@ stdenv.mkDerivation (rec { pname = "lldb"; inherit version; - src = fetch pname "0wic9lyb2la9bkzdc13szkm4f793w1mddp50xvh237iraygw0w45"; + src = fetch pname "1yzjbsn81l2r3v9js2fxrglkwvz1f2rxyxh6430nydbrs0bqklz8"; patches = [ ./lldb-procfs.patch ]; nativeBuildInputs = [ cmake python3 which swig lit ] - ++ stdenv.lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; + ++ lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; buildInputs = [ ncurses @@ -34,7 +34,7 @@ stdenv.mkDerivation (rec { libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation @@ -49,18 +49,16 @@ stdenv.mkDerivation (rec { "-DLLVM_ENABLE_RTTI=OFF" "-DClang_DIR=${clang-unwrapped}/lib/cmake" "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON" - ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ + ] ++ lib.optionals (!stdenv.isDarwin) [ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" ]; - enableParallelBuilding = true; - postInstall = '' # Editor support # vscode: @@ -69,13 +67,13 @@ stdenv.mkDerivation (rec { ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://lldb.llvm.org"; license = licenses.ncsa; platforms = platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "lldb-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/11/llvm.nix index c2b70a149bf5..868da1a5b207 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , python3 @@ -22,22 +22,22 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; + shortVersion = with lib; concatStringsSep "." (take 1 (splitString "." release_version)); in stdenv.mkDerivation (rec { pname = "llvm"; inherit version; - src = fetch pname "0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi"; - polly_src = fetch "polly" "0h442ivcslr3dv3q3g1nw5avh77f8cxsp6zild1hgspj266xpynw"; + src = fetch pname "0a5mb65xa5bal8q6cb37xgkqis2bip87fsafgq3wbsva9cjprn6c"; + polly_src = fetch "polly" "1smrqm9s0r2g9h0v0nil6y9wn2ih4l5bddk4dhgn538ngc7cxpq8"; unpackPhase = '' unpackFile $src - mv llvm-${version}* llvm + mv llvm-${release_version}* llvm sourceRoot=$PWD/llvm '' + optionalString enablePolly '' unpackFile $polly_src @@ -122,7 +122,7 @@ in stdenv.mkDerivation (rec { "-DCAN_TARGET_i386=false" ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DCMAKE_CROSSCOMPILING=True" - "-DLLVM_TABLEGEN=${buildPackages.llvm_10}/bin/llvm-tblgen" + "-DLLVM_TABLEGEN=${buildPackages.llvm_11}/bin/llvm-tblgen" ]; postBuild = '' @@ -152,21 +152,19 @@ in stdenv.mkDerivation (rec { ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib ''; - doCheck = stdenv.isLinux && (!stdenv.isx86_32); + doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl); checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill primeos ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/11/openmp.nix index 5fd6c62840db..5503a98ae5f6 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/11/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/11/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -10,17 +11,15 @@ stdenv.mkDerivation rec { pname = "openmp"; inherit version; - src = fetch pname "0k389d0g9zlfyzh1kpb3i5jdawzpn0hrdxzbjinpvdv7rbw4sw1d"; + src = fetch pname "19rcv25y41ww3zlfg0lwprzijl3cn7jgc0v5540jzpp7j0ds45ad"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix index b5e7b54fa5be..21961f4f0413 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3 , fixDarwinDylibNames , enableManpages ? false }: @@ -19,15 +19,15 @@ let ''; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" @@ -44,7 +44,7 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp ''; @@ -72,8 +72,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -82,10 +80,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix index 41f2b24b057e..909c6b190536 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -53,19 +53,19 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ../7/compiler-rt-glibc.patch - ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # 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. - postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + postPatch = lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -75,14 +75,13 @@ stdenv.mkDerivation { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix index 36495249d16f..f03325cd4270 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -25,8 +25,6 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -75,7 +73,7 @@ let lldb = callPackage ./lldb.nix {}; }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix index 9bebedbc0442..164836e1a4ce 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ + patches = lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -26,8 +26,8 @@ stdenv.mkDerivation { patchShebangs utils/cat_files.py ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional stdenv.hostPlatform.isMusl python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ]; @@ -35,9 +35,7 @@ stdenv.mkDerivation { "-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; + ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"; passthru = { isLLVM = true; @@ -46,7 +44,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix index 96d6e78e01e4..8fc9ef9fded8 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { pname = "libc++abi"; @@ -7,15 +7,15 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; postUnpack = '' unpackFile ${libcxx.src} unpackFile ${llvm.src} export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} ''; @@ -44,8 +44,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix index 3d9ed6ee6635..244960cf41ba 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , llvm @@ -16,8 +16,6 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -26,8 +24,8 @@ stdenv.mkDerivation { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix index e827f76231f1..61a9e60391c8 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , fetchpatch , cmake @@ -42,7 +42,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python3 which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; @@ -51,14 +51,12 @@ stdenv.mkDerivation { "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic ]; - enableParallelBuilding = true; - postInstall = '' mkdir -p $out/share/man/man1 cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://llvm.org/"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix index 987e6258527a..c91e94204352 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , fetchpatch , cmake @@ -17,7 +17,7 @@ let # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with stdenv.lib; + versionSuffixes = with lib; let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in @@ -35,10 +35,10 @@ stdenv.mkDerivation ({ ''; outputs = [ "out" "python" ] - ++ stdenv.lib.optional enableSharedLibraries "lib"; + ++ lib.optional enableSharedLibraries "lib"; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx; + ++ lib.optional enableManpages python3.pkgs.sphinx; buildInputs = [ libxml2 libffi ]; @@ -58,13 +58,13 @@ stdenv.mkDerivation ({ # stripLen = 1; #}) ]; - postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + postPatch = lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/modules/AddLLVM.cmake \ --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" '' # Patch llvm-config to return correct library path based on --link-{shared,static}. - + stdenv.lib.optionalString (enableSharedLibraries) '' + + lib.optionalString (enableSharedLibraries) '' substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib patch -p1 < ./llvm-outputs.patch '' + '' @@ -72,9 +72,9 @@ stdenv.mkDerivation ({ substituteInPlace unittests/Support/CMakeLists.txt \ --replace "Path.cpp" "" rm unittests/Support/Path.cpp - '' + stdenv.lib.optionalString stdenv.isAarch64 '' + '' + lib.optionalString stdenv.isAarch64 '' patch -p0 < ${../aarch64.patch} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -i ${../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" @@ -98,18 +98,18 @@ stdenv.mkDerivation ({ "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" ] - ++ stdenv.lib.optional enableSharedLibraries + ++ lib.optional enableSharedLibraries "-DLLVM_LINK_LLVM_DYLIB=ON" - ++ stdenv.lib.optionals enableManpages [ + ++ lib.optionals enableManpages [ "-DLLVM_BUILD_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" ] - ++ stdenv.lib.optional (!isDarwin) + ++ lib.optional (!isDarwin) "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ stdenv.lib.optionals (isDarwin) [ + ++ lib.optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DCAN_TARGET_i386=false" ]; @@ -126,18 +126,18 @@ stdenv.mkDerivation ({ mkdir -p $python/share mv $out/share/opt-viewer $python/share/opt-viewer '' - + stdenv.lib.optionalString enableSharedLibraries '' + + lib.optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" moveToOutput "lib/libLTO${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" '' - + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' + + lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" \ --replace "\''${_IMPORT_PREFIX}/lib/libLTO.dylib" "$lib/lib/libLTO.dylib" - ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ${lib.concatMapStringsSep "\n" (v: '' ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib '') versionSuffixes} ''; @@ -146,17 +146,15 @@ stdenv.mkDerivation ({ checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix index da328de24d13..169c9c50324e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix index ec3effebfd77..41202dd3f5dc 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3 , fixDarwinDylibNames , enableManpages ? false }: @@ -19,15 +19,15 @@ let ''; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" @@ -44,7 +44,7 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp ''; @@ -72,8 +72,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -82,10 +80,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix index 8bd61f5d7f70..6e47ffe8acaf 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -53,21 +53,21 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ../7/compiler-rt-glibc.patch - ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -77,14 +77,13 @@ stdenv.mkDerivation { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix index 4c2e87ec5e1a..a98314d1181f 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "1w8ml7fyn4vyxmy59n2qm4r1k1kgwgwkaldp6m45fdv4g0kkfbhd"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -25,8 +25,6 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -75,7 +73,7 @@ let lldb = callPackage ./lldb.nix {}; }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix index 727a32260872..ac489db54fcf 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ + patches = lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -26,8 +26,8 @@ stdenv.mkDerivation { patchShebangs utils/cat_files.py ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional stdenv.hostPlatform.isMusl python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ]; @@ -35,9 +35,7 @@ stdenv.mkDerivation { "-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; + ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"; passthru = { isLLVM = true; @@ -46,7 +44,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix index 246bc6153e59..6e99f2d287a6 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { pname = "libc++abi"; @@ -7,15 +7,15 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "0prqvdj317qrc8nddaq1hh2ag9algkd9wbkj3y4mr5588k12x7r0"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; postUnpack = '' unpackFile ${libcxx.src} unpackFile ${llvm.src} export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} ''; @@ -44,8 +44,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix index 81b94df31194..b80385248059 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -17,8 +17,6 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix index 629749e10f3c..7c6f8b1bd979 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , fetchpatch , cmake @@ -42,7 +42,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python3 which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; @@ -51,14 +51,12 @@ stdenv.mkDerivation { "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic ]; - enableParallelBuilding = true; - postInstall = '' mkdir -p $out/share/man/man1 cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://llvm.org/"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix index 22dbb75d2d50..7d429e3ecf30 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , python3 @@ -17,10 +17,10 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with stdenv.lib; + versionSuffixes = with lib; let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in @@ -136,7 +136,7 @@ stdenv.mkDerivation ({ + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ${lib.concatMapStringsSep "\n" (v: '' ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib '') versionSuffixes} ''; @@ -145,17 +145,15 @@ stdenv.mkDerivation ({ checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix index c1a4480a5524..9de18065918c 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix index 969938681fe9..4ab13441e36f 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false , enablePolly ? false # TODO: get this info from llvm (passthru?) @@ -20,21 +20,21 @@ let ''; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm lld ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ stdenv.lib.optionals enablePolly [ + ] ++ lib.optionals enablePolly [ "-DWITH_POLLY=ON" "-DLINK_POLLY_INTO_TOOLS=ON" ]; @@ -52,9 +52,9 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace tools/extra/clangd/CMakeLists.txt \ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; @@ -83,8 +83,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -93,10 +91,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix index ec9b7e6e6ad4..6320a3405d27 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -55,22 +55,22 @@ stdenv.mkDerivation { ./compiler-rt-glibc.patch ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch + ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -80,14 +80,13 @@ stdenv.mkDerivation { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix index 3dd067ae607e..111ccbb9a38b 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "0lb4kdh7j2fhfz8kd6iv5df7m3pikiryk1vvwsf87spc90n09q0w"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -25,8 +25,6 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -103,9 +101,9 @@ let extraBuildCommands = '' echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; @@ -157,7 +155,7 @@ let }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { @@ -172,12 +170,12 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxx = callPackage ./libc++ ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); libcxxabi = callPackage ./libc++abi.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix index ed4192a232e3..fb50c4e24d72 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" @@ -27,8 +27,8 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional stdenv.hostPlatform.isMusl python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ] ; @@ -36,10 +36,8 @@ stdenv.mkDerivation { "-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" - ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ; - - enableParallelBuilding = true; + ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ; passthru = { isLLVM = true; @@ -48,7 +46,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix index 4c46aeaa1910..61879be91dad 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, llvm, version +{ lib, stdenv, cmake, fetch, libcxx, llvm, version , standalone ? false # on musl the shared objects don't build , enableShared ? !stdenv.hostPlatform.isStatic @@ -16,15 +16,15 @@ stdenv.mkDerivation { unpackFile ${libcxx.src} unpackFile ${llvm.src} cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) ) - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} ''; cmakeFlags = - stdenv.lib.optional standalone "-DLLVM_ENABLE_LIBCXX=ON" ++ - stdenv.lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF"; + lib.optional standalone "-DLLVM_ENABLE_LIBCXX=ON" ++ + lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF"; installPhase = if stdenv.isDarwin then '' @@ -42,17 +42,17 @@ stdenv.mkDerivation { else '' install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib - ${stdenv.lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"} + ${lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"} install -m 644 ../include/cxxabi.h $out/include - ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"} - ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"} + ${lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"} + ${lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"} ''; meta = { homepage = "https://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; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix index bee9202ed6c1..f4c58abef8a3 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -17,8 +17,6 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix index 8fadd3cf7849..3fa5b411f634 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , zlib @@ -23,7 +23,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl python3 which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; postPatch = '' @@ -50,16 +50,14 @@ stdenv.mkDerivation { CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2"; - - enableParallelBuilding = true; + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2"; postInstall = '' mkdir -p $out/share/man/man1 cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://llvm.org/"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix index dc57d0d6bd5c..2d6f0d187226 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , fetchpatch , cmake @@ -23,10 +23,10 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with stdenv.lib; + versionSuffixes = with lib; let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; @@ -158,7 +158,7 @@ in stdenv.mkDerivation ({ + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ${lib.concatMapStringsSep "\n" (v: '' ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib '') versionSuffixes} ''; @@ -167,17 +167,15 @@ in stdenv.mkDerivation ({ checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix index 898d49dce834..53f52c326c55 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix index 5c1dca5e33b1..8f44ffc0615d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false , enablePolly ? false # TODO: get this info from llvm (passthru?) @@ -20,8 +20,8 @@ let ''; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm lld ]; @@ -29,13 +29,13 @@ let "-DCMAKE_CXX_FLAGS=-std=c++11" "-DCLANGD_BUILD_XPC=OFF" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ stdenv.lib.optionals enablePolly [ + ] ++ lib.optionals enablePolly [ "-DWITH_POLLY=ON" "-DLINK_POLLY_INTO_TOOLS=ON" ]; @@ -62,9 +62,9 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace tools/extra/clangd/CMakeLists.txt \ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; @@ -93,8 +93,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -103,10 +101,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix index 3c6265c4fca0..2e49ef17346d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -53,22 +53,22 @@ stdenv.mkDerivation { patches = [ ../7/compiler-rt-glibc.patch ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional (useLLVM) ./crtbegin-and-end.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -78,14 +78,13 @@ stdenv.mkDerivation { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix index 6e80737f32ad..313b97455e50 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "1qf3097bc5ia8p6cpmbx985rjr3yaah5s8fc0nv7pw742yv7jw8q"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -25,8 +25,6 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -100,15 +98,15 @@ let extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt - ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ targetLlvmLibraries.libunwind ]; extraBuildCommands = '' echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; @@ -160,12 +158,12 @@ let }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { compiler-rt = callPackage ./compiler-rt.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; })); @@ -174,12 +172,12 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxx = callPackage ./libc++ ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); libcxxabi = callPackage ./libc++abi.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); @@ -187,7 +185,7 @@ let openmp = callPackage ./openmp.nix {}; libunwind = callPackage ./libunwind.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix index 2ed54a22069b..70e4d9e1a65e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/libc++/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" @@ -26,8 +26,8 @@ stdenv.mkDerivation { patchShebangs utils/cat_files.py ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ]; @@ -35,15 +35,13 @@ stdenv.mkDerivation { "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" "-DLIBCXX_LIBCPPABI_VERSION=2" "-DLIBCXX_CXX_ABI=libcxxabi" - ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" - ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [ + ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ lib.optional stdenv.hostPlatform.isWasm [ "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; - - enableParallelBuilding = true; + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; passthru = { isLLVM = true; @@ -52,7 +50,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix index 50a38dfa967b..5a74981eba8b 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -9,15 +9,15 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "1vznz8n1z1h8af0ga451m98lc2hjnv4fyzl71napsvjhvk4g6nxp"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [ + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optionals (!enableShared) [ + ] ++ lib.optionals (!enableShared) [ "-DLIBCXXABI_ENABLE_SHARED=OFF" ]; @@ -27,11 +27,11 @@ stdenv.mkDerivation { unpackFile ${libcxx.src} unpackFile ${llvm.src} cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm '' + '' + lib.optionalString stdenv.hostPlatform.isWasm '' patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch} ''; @@ -52,7 +52,7 @@ stdenv.mkDerivation { install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib install -m 644 ../include/cxxabi.h $out/include - '' + stdenv.lib.optionalString enableShared '' + '' + lib.optionalString enableShared '' install -m 644 lib/libc++abi.so.1.0 $out/lib 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 @@ -61,8 +61,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix index 3295d3922034..d1bd54fbd349 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/libunwind.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -21,7 +21,5 @@ stdenv.mkDerivation { }) ]; - enableParallelBuilding = true; - - cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix index ba9cf3c57d77..8009beb7bc13 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -17,8 +17,6 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix index 298ce737fc73..83c171d2a572 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , zlib @@ -32,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python3 which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; @@ -41,8 +41,6 @@ stdenv.mkDerivation { "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic ]; - enableParallelBuilding = true; - postInstall = '' mkdir -p $out/share/man/man1 cp ../docs/lldb.1 $out/share/man/man1/ @@ -52,7 +50,7 @@ stdenv.mkDerivation { ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://llvm.org/"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix index fb928b67ad54..9c2c3416aeab 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , fetchpatch , cmake @@ -23,10 +23,10 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; + shortVersion = with lib; concatStringsSep "." (take 1 (splitVersion release_version)); in stdenv.mkDerivation ({ @@ -151,17 +151,15 @@ in stdenv.mkDerivation ({ checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix index 42cc7adf4f00..b5d75d9c8724 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/8/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix index cfaee05944ca..87b29163f43e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld +{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld , fixDarwinDylibNames , enableManpages ? false , enablePolly ? false # TODO: get this info from llvm (passthru?) @@ -20,8 +20,8 @@ let ''; nativeBuildInputs = [ cmake python3 ] - ++ stdenv.lib.optional enableManpages python3.pkgs.sphinx - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 llvm lld ]; @@ -29,13 +29,13 @@ let "-DCMAKE_CXX_FLAGS=-std=c++11" "-DCLANGD_BUILD_XPC=OFF" "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optionals enableManpages [ + ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ stdenv.lib.optionals enablePolly [ + ] ++ lib.optionals enablePolly [ "-DWITH_POLLY=ON" "-DLINK_POLLY_INTO_TOOLS=ON" ]; @@ -55,9 +55,9 @@ let # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace tools/extra/clangd/CMakeLists.txt \ --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE ''; @@ -88,8 +88,6 @@ let rm $out/bin/c-index-test ''; - enableParallelBuilding = true; - passthru = { isClang = true; inherit llvm; @@ -98,10 +96,10 @@ let meta = { description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; - } // stdenv.lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix index 13b0b522771f..2ab9dc8ffa2e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetch pname "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2"; nativeBuildInputs = [ cmake python3 llvm ]; - buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,24 +24,24 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ stdenv.lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ stdenv.lib.optionals (useLLVM) [ + ] ++ lib.optionals (useLLVM) [ "-DCOMPILER_RT_BUILD_BUILTINS=ON" "-DCMAKE_C_FLAGS=-nodefaultlibs" #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ stdenv.lib.optionals (bareMetal) [ + ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # The compiler-rt build infrastructure sniffs supported platforms on Darwin # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails # when it tries to use libc++ and libc++api for i386. @@ -53,21 +53,21 @@ stdenv.mkDerivation rec { patches = [ ../7/compiler-rt-glibc.patch ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # 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. - postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin) '' substituteInPlace cmake/builtin-config-ix.cmake \ --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ @@ -77,14 +77,12 @@ stdenv.mkDerivation rec { ''; # Hack around weird upsream RPATH bug - postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" - '' + stdenv.lib.optionalString (useLLVM) '' + '' + lib.optionalString (useLLVM) '' ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; - - enableParallelBuilding = true; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix index 6f5bdb8e8cc1..dfb4981a5b75 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix @@ -1,4 +1,4 @@ -{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildPackages , buildLlvmTools # tools, but from the previous stage, for cross @@ -17,7 +17,7 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "01vgzd4k1q93nfs8gyl83mjlc4x0qsgfqw32lacbjzdxg0mdfvxj"; - tools = stdenv.lib.makeExtensible (tools: let + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" @@ -25,8 +25,6 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) '' - echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags ''; in { @@ -100,15 +98,15 @@ let extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt - ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ targetLlvmLibraries.libunwind ]; extraBuildCommands = '' echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; @@ -160,12 +158,12 @@ let }); - libraries = stdenv.lib.makeExtensible (libraries: let + libraries = lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { compiler-rt = callPackage ./compiler-rt.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; })); @@ -174,12 +172,12 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxx = callPackage ./libc++ ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); libcxxabi = callPackage ./libc++abi.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; libunwind = libraries.libunwind; })); @@ -187,7 +185,7 @@ let openmp = callPackage ./openmp.nix {}; libunwind = callPackage ./libunwind.nix ({} // - (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; })); diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix index f5c3d21e7f1a..6ea1e28e7b4b 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; preConfigure = '' # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package @@ -22,8 +22,8 @@ stdenv.mkDerivation { patchShebangs utils/cat_files.py ''; nativeBuildInputs = [ cmake ] - ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3 + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libcxxabi ]; @@ -31,15 +31,13 @@ stdenv.mkDerivation { "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" "-DLIBCXX_LIBCPPABI_VERSION=2" "-DLIBCXX_CXX_ABI=libcxxabi" - ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" - ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [ + ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ lib.optional stdenv.hostPlatform.isWasm [ "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; - - enableParallelBuilding = true; + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; passthru = { isLLVM = true; @@ -48,7 +46,7 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix index 13f033091be2..e8e08f848011 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -9,15 +9,15 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "1b4aiaa8cirx52vk2p5kfk57qmbqf1ipb4nqnjhdgqps9jm7iyg8"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; - cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [ + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ stdenv.lib.optionals (!enableShared) [ + ] ++ lib.optionals (!enableShared) [ "-DLIBCXXABI_ENABLE_SHARED=OFF" ]; @@ -27,11 +27,11 @@ stdenv.mkDerivation { unpackFile ${libcxx.src} unpackFile ${llvm.src} cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + lib.optionalString stdenv.hostPlatform.isMusl '' patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm '' + '' + lib.optionalString stdenv.hostPlatform.isWasm '' patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch} ''; @@ -52,7 +52,7 @@ stdenv.mkDerivation { install -d -m 755 $out/include $out/lib install -m 644 lib/libc++abi.a $out/lib install -m 644 ../include/cxxabi.h $out/include - '' + stdenv.lib.optionalString enableShared '' + '' + lib.optionalString enableShared '' install -m 644 lib/libc++abi.so.1.0 $out/lib 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 @@ -61,8 +61,8 @@ stdenv.mkDerivation { meta = { homepage = "https://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.all; + license = with lib.licenses; [ ncsa mit ]; + maintainers = with lib.maintainers; [ vlstill ]; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix index 98df98838f13..4c4c85512e3d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/libunwind.nix @@ -1,4 +1,4 @@ -{ stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -10,7 +10,5 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - enableParallelBuilding = true; - - cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix index 488870e729a5..8b12642d2a70 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , libxml2 @@ -17,8 +17,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; - enableParallelBuilding = true; - postInstall = '' moveToOutput include "$dev" moveToOutput lib "$dev" @@ -27,7 +25,7 @@ stdenv.mkDerivation rec { meta = { description = "The LLVM Linker"; homepage = "https://lld.llvm.org/"; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix index a8e193c27b17..8da5c0bef68a 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/lldb.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , zlib @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ + ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation @@ -49,8 +49,6 @@ stdenv.mkDerivation rec { "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit" ]; - enableParallelBuilding = true; - postInstall = '' # man page mkdir -p $out/share/man/man1 @@ -63,7 +61,7 @@ stdenv.mkDerivation rec { ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A next-generation high-performance debugger"; homepage = "https://llvm.org/"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix index 013e5bb36b94..207dc242b91e 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetch , cmake , python3 @@ -22,10 +22,10 @@ }: let - inherit (stdenv.lib) optional optionals optionalString; + inherit (lib) optional optionals optionalString; # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; + shortVersion = with lib; concatStringsSep "." (take 1 (splitString "." release_version)); in stdenv.mkDerivation (rec { @@ -159,17 +159,15 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; - enableParallelBuilding = true; - requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://llvm.org/"; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = lib.platforms.all; }; -} // stdenv.lib.optionalAttrs enableManpages { +} // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; buildPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix index 84f898ec06a1..416916f57ff2 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/9/openmp.nix @@ -1,4 +1,5 @@ -{ stdenv +{ lib +, stdenv , fetch , cmake , llvm @@ -15,12 +16,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; - enableParallelBuilding = true; - meta = { description = "Components required to build an executable OpenMP program"; homepage = "https://openmp.llvm.org/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.mit; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/development/compilers/llvm/multi.nix b/nixpkgs/pkgs/development/compilers/llvm/multi.nix index b4f2f8f9d6f6..60db622a73ab 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/multi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/multi.nix @@ -13,7 +13,12 @@ let chmod u+rw -R $out/lib cp -r ${basegcc.libc}/lib/* $(ls -d $out/lib/gcc/*/*) ''; - gcc_multi_sysroot = runCommand "gcc-multi-sysroot" {} '' + gcc_multi_sysroot = runCommand "gcc-multi-sysroot" { + passthru = { + inherit (gcc64) version; + lib = gcc_multi_sysroot; + }; + } '' mkdir -p $out/lib/gcc ln -s ${combine gcc64}/lib/gcc/* $out/lib/gcc/ @@ -32,17 +37,16 @@ let ''; clangMulti = clang.override { - # Only used for providing expected structure re:dynamic linkers, AFAIK - # Most of the magic is done by setting the --gcc-toolchain option below + # Only used for providing expected structure re:dynamic linkers, AFAIK Most + # of the magic is done by setting the --gcc-toolchain option via + # `gccForLibs`. libc = gcc_multi_sysroot; bintools = clang.bintools.override { libc = gcc_multi_sysroot; }; - extraBuildCommands = '' - sed -e '$a --gcc-toolchain=${gcc_multi_sysroot}' -i $out/nix-support/libc-cflags - ''; + gccForLibs = gcc_multi_sysroot; }; in clangMulti diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix index 6bb23b77543a..789d4c055eb0 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetchFromGitHub , cmake , python @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { #undef CLANG_REPOSITORY ''; - postUnpack = stdenv.lib.optionalString (!(isNull clang-tools-extra_src)) '' + postUnpack = lib.optionalString (!(isNull clang-tools-extra_src)) '' ln -s ${clang-tools-extra_src} $sourceRoot/tools/extra ''; @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { echo "$VCSVersion" > lib/Basic/VCSVersion.inc ''; - meta = with stdenv.lib; { + meta = with lib; { description = "ROCm fork of the clang C/C++/Objective-C/Objective-C++ LLVM compiler frontend"; homepage = "https://llvm.org/"; license = with licenses; [ ncsa ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/default.nix index 36b42cef3926..94b6ee71032a 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/rocm/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, callPackage, wrapCCWith }: +{ lib, stdenv, fetchFromGitHub, callPackage, wrapCCWith }: let version = "4.0.0"; @@ -17,7 +17,6 @@ in rec { mkdir "$rsrc" ln -s "${cc}/lib/clang/$clang_version/include" "$rsrc" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - echo "--gcc-toolchain=${stdenv.cc.cc}" >> $out/nix-support/cc-cflags echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags rm $out/nix-support/add-hardening.sh touch $out/nix-support/add-hardening.sh diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/lld.nix index 34a094bf379c..2a05331f7a0f 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/rocm/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/lld.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , cmake , libxml2 , llvm @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { --replace "\''${_IMPORT_PREFIX}/bin/lld" "$out/bin/lld" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "ROCm fork of the LLVM Linker"; homepage = "https://github.com/RadeonOpenCompute/llvm-project"; license = licenses.ncsa; diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm.nix index 909284a3e919..d6fe211c4756 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetchFromGitHub , cmake , python3 @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { pname = "rocm-llvm"; outputs = [ "out" "python" ] - ++ stdenv.lib.optional enableSharedLibraries "lib"; + ++ lib.optional enableSharedLibraries "lib"; nativeBuildInputs = [ cmake python3 ]; @@ -44,10 +44,10 @@ in stdenv.mkDerivation rec { "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}" ] ++ - stdenv.lib.optional + lib.optional enableSharedLibraries "-DLLVM_LINK_LLVM_DYLIB=ON" - ++ stdenv.lib.optionals enableManpages [ + ++ lib.optionals enableManpages [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" "-DLLVM_BUILD_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" @@ -78,7 +78,7 @@ in stdenv.mkDerivation rec { postInstall = '' moveToOutput share/opt-viewer "$python" '' - + stdenv.lib.optionalString enableSharedLibraries '' + + lib.optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ @@ -87,7 +87,7 @@ in stdenv.mkDerivation rec { passthru.src = src; - meta = with stdenv.lib; { + meta = with lib; { description = "ROCm fork of the LLVM compiler infrastructure"; homepage = "https://github.com/RadeonOpenCompute/llvm-project"; license = with licenses; [ ncsa ]; |