diff options
Diffstat (limited to 'pkgs/development')
356 files changed, 4100 insertions, 1769 deletions
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index aebe7b30f1a78..1b4aa6b3214c0 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -103,9 +103,15 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = lib.optionalString hostPlatform.isDarwin '' + + lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -114,14 +120,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = '' - configureScripts=$(find . -name configure) - for configureScript in $configureScripts; do - patchShebangs $configureScript - done - '' + ( + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix index c9d8663c0c401..cff1abf726734 100644 --- a/pkgs/development/compilers/gcc/11/default.nix +++ b/pkgs/development/compilers/gcc/11/default.nix @@ -72,6 +72,11 @@ let majorVersion = "11"; ++ optional langFortran ../gfortran-driving.patch ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch + ++ optional (stdenv.isDarwin && stdenv.isAarch64) (fetchpatch { + url = "https://github.com/fxcoudert/gcc/compare/releases/gcc-11.1.0...gcc-11.1.0-arm-20210504.diff"; + sha256 = "sha256-JqCGJAfbOxSmkNyq49aFHteK/RFsCSLQrL9mzUCnaD0="; + }) + # Obtain latest patch with ../update-mcfgthread-patches.sh ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch; @@ -103,9 +108,15 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = lib.optionalString hostPlatform.isDarwin '' + + lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -114,14 +125,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = '' - configureScripts=$(find . -name configure) - for configureScript in $configureScripts; do - patchShebangs $configureScript - done - '' + ( + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 069d9c18a62b5..b70d8a57b9d20 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -154,7 +154,7 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; - prePatch = + postPatch = # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. lib.optionalString hostPlatform.isDarwin '' @@ -166,9 +166,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. @@ -191,7 +190,7 @@ stdenv.mkDerivation ({ sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR' '' ) - else null; + else ""); inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 1f153b0fb3a3d..5ffe6aba90f1c 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -114,9 +114,15 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = lib.optionalString hostPlatform.isDarwin '' + + lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -125,14 +131,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = '' - configureScripts=$(find . -name configure) - for configureScript in $configureScripts; do - patchShebangs $configureScript - done - '' + ( + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 4d9e216947d49..754f189d508fb 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -101,9 +101,15 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = lib.optionalString hostPlatform.isDarwin '' + + lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -112,14 +118,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = '' - configureScripts=$(find . -name configure) - for configureScript in $configureScripts; do - patchShebangs $configureScript - done - '' + ( + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index 09cf7e98db799..5be6dc5811ec0 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -117,9 +117,15 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = lib.optionalString hostPlatform.isDarwin '' + + lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -128,14 +134,8 @@ stdenv.mkDerivation ({ substituteInPlace libgfortran/configure \ --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname" - ''; - - postPatch = '' - configureScripts=$(find . -name configure) - for configureScript in $configureScripts; do - patchShebangs $configureScript - done - '' + ( + '' + + ( if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index 42deb970dfeab..997771c2abfe9 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -185,7 +185,8 @@ let ++ lib.optional javaAwtGtk "--enable-java-awt=gtk" ++ lib.optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" - ++ (import ../common/platform-flags.nix { inherit (stdenv) targetPlatform; inherit lib; }) + # TODO: aarch64-darwin has clang stdenv and its arch and cpu flag values are incompatible with gcc + ++ lib.optional (!(stdenv.isDarwin && stdenv.isAarch64)) (import ../common/platform-flags.nix { inherit (stdenv) targetPlatform; inherit lib; }) ++ lib.optionals (targetPlatform != hostPlatform) crossConfigureFlags ++ lib.optional (targetPlatform != hostPlatform) "--disable-bootstrap" diff --git a/pkgs/development/compilers/llvm/10/bintools.nix b/pkgs/development/compilers/llvm/10/bintools/default.nix index 53f7941e33699..53f7941e33699 100644 --- a/pkgs/development/compilers/llvm/10/bintools.nix +++ b/pkgs/development/compilers/llvm/10/bintools/default.nix diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix index d228c4261afe9..e0c52651cadc5 100644 --- a/pkgs/development/compilers/llvm/10/clang/default.nix +++ b/pkgs/development/compilers/llvm/10/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -96,11 +96,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -119,6 +128,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix index 1f990ac433d2f..37c7e0599b5f0 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix @@ -1,17 +1,18 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in -stdenv.mkDerivation rec { - pname = "compiler-rt"; +stdenv.mkDerivation { + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; - src = fetch pname "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr"; + src = fetch "compiler-rt" "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr"; nativeBuildInputs = [ cmake python3 llvm.dev ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; @@ -29,14 +30,15 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ "-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)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" ] ++ 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" ] ++ lib.optionals (bareMetal) [ @@ -58,7 +60,6 @@ stdenv.mkDerivation rec { ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ++ lib.optional stdenv.hostPlatform.isAarch32 ./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 @@ -89,4 +90,19 @@ stdenv.mkDerivation rec { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix index e2e78e16d7979..11367d453cde5 100644 --- a/pkgs/development/compilers/llvm/10/default.nix +++ b/pkgs/development/compilers/llvm/10/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools }: let @@ -16,6 +28,12 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "06n1yp638rh24xdxv9v2df0qajxbjz4w59b7dd4ky36drwmpi4yh"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands0 = cc: '' @@ -29,16 +47,27 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; @@ -82,9 +111,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; # Below, is the LLVM bootstrapping logic. It handles building a # fully LLVM toolchain from scratch. No GCC toolchain should be @@ -93,14 +126,21 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools.nix {}; + bintools-unwrapped = callPackage ./bintools {}; - lldClang = wrapCCWith rec { + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; + + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt @@ -112,17 +152,17 @@ let echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -133,13 +173,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -149,52 +186,77 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; - })); + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); - - libcxxabi = callPackage ./libc++abi ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp.nix {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/10/libc++/default.nix b/pkgs/development/compilers/llvm/10/libcxx/default.nix index 1e5dc5b2dacc0..7c01e73171164 100644 --- a/pkgs/development/compilers/llvm/10/libc++/default.nix +++ b/pkgs/development/compilers/llvm/10/libcxx/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "0v78bfr6h2zifvdqnj2wlfk4pvxzrqn3hg1v6lqk3y12bx9p9xny"; @@ -17,7 +17,9 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch - ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + ] ++ lib.optionals 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 @@ -47,10 +49,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.all; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/10/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch index 4b031e90bdd55..4b031e90bdd55 100644 --- a/pkgs/development/compilers/llvm/10/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/10/libc++abi/default.nix b/pkgs/development/compilers/llvm/10/libcxxabi/default.nix index bc5e77b739d7e..b427949a84267 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/10/libcxxabi/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "0yqs722y76cwvmfsq0lb917r9m3fci7bf5z3yzl71yz9n88ghzm9"; @@ -63,11 +63,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.all; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/10/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch index 0f80ade7c389d..0f80ade7c389d 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/10/libc++abi/no-threads.patch b/pkgs/development/compilers/llvm/10/libcxxabi/no-threads.patch index 787f3e16500e2..787f3e16500e2 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi/no-threads.patch +++ b/pkgs/development/compilers/llvm/10/libcxxabi/no-threads.patch diff --git a/pkgs/development/compilers/llvm/10/libc++abi/wasm.patch b/pkgs/development/compilers/llvm/10/libcxxabi/wasm.patch index 4ebfe46aa813d..4ebfe46aa813d 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi/wasm.patch +++ b/pkgs/development/compilers/llvm/10/libcxxabi/wasm.patch diff --git a/pkgs/development/compilers/llvm/10/libunwind/default.nix b/pkgs/development/compilers/llvm/10/libunwind/default.nix index d010deb661861..8124cf0821e03 100644 --- a/pkgs/development/compilers/llvm/10/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/10/libunwind/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, llvm_meta, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -17,4 +17,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; } diff --git a/pkgs/development/compilers/llvm/10/lld/default.nix b/pkgs/development/compilers/llvm/10/lld/default.nix index 03a48f02a0c1e..5d590aec35acb 100644 --- a/pkgs/development/compilers/llvm/10/lld/default.nix +++ b/pkgs/development/compilers/llvm/10/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -28,10 +28,16 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/10/lldb/default.nix b/pkgs/development/compilers/llvm/10/lldb/default.nix index ccca340b3e235..04b9e06e77a3d 100644 --- a/pkgs/development/compilers/llvm/10/lldb/default.nix +++ b/pkgs/development/compilers/llvm/10/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -76,11 +76,15 @@ stdenv.mkDerivation (rec { ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://lldb.llvm.org"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } // lib.optionalAttrs enableManpages { pname = "lldb-manpages"; @@ -104,5 +108,7 @@ stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLDB ${version}"; + meta = llvm_meta // { + description = "man pages for LLDB ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/10/llvm/default.nix b/pkgs/development/compilers/llvm/10/llvm/default.nix index 22ed308486db0..93cdc7307daa6 100644 --- a/pkgs/development/compilers/llvm/10/llvm/default.nix +++ b/pkgs/development/compilers/llvm/10/llvm/default.nix @@ -1,6 +1,7 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch +, fetchpatch , cmake , python3 , libffi @@ -57,6 +58,13 @@ in stdenv.mkDerivation (rec { patches = [ ./gnu-install-dirs.patch + # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. + (fetchpatch { + name = "uops-CMOV16rm-noreg.diff"; + url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; + sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; + stripLen = 1; + }) ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; postPatch = optionalString stdenv.isDarwin '' @@ -172,12 +180,23 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -199,5 +218,7 @@ in stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/10/openmp.nix b/pkgs/development/compilers/llvm/10/openmp.nix deleted file mode 100644 index 2946c51fafe21..0000000000000 --- a/pkgs/development/compilers/llvm/10/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation rec { - pname = "openmp"; - inherit version; - - src = fetch pname "0i4bn84lkpm5w3qkpvwm5z6jdj8fynp7d3bcasa1xyq4is6757yi"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/10/openmp/default.nix b/pkgs/development/compilers/llvm/10/openmp/default.nix new file mode 100644 index 0000000000000..a1b04c7c66b25 --- /dev/null +++ b/pkgs/development/compilers/llvm/10/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation rec { + pname = "openmp"; + inherit version; + + src = fetch pname "0i4bn84lkpm5w3qkpvwm5z6jdj8fynp7d3bcasa1xyq4is6757yi"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/11/bintools.nix b/pkgs/development/compilers/llvm/11/bintools/default.nix index 53f7941e33699..53f7941e33699 100644 --- a/pkgs/development/compilers/llvm/11/bintools.nix +++ b/pkgs/development/compilers/llvm/11/bintools/default.nix diff --git a/pkgs/development/compilers/llvm/11/clang/default.nix b/pkgs/development/compilers/llvm/11/clang/default.nix index 3b7accffbca82..f23394a8b754b 100644 --- a/pkgs/development/compilers/llvm/11/clang/default.nix +++ b/pkgs/development/compilers/llvm/11/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, fetchpatch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -45,6 +45,18 @@ let ./purity.patch # https://reviews.llvm.org/D51899 ./gnu-install-dirs.patch + # Revert: [Driver] Default to -fno-common for all targets + # https://reviews.llvm.org/D75056 + # + # Maintains compatibility with packages that haven't been fixed yet, and + # matches gcc10's configuration in nixpkgs. + (fetchpatch { + revert = true; + url = "https://github.com/llvm/llvm-project/commit/0a9fc9233e172601e26381810d093e02ef410f65.diff"; + stripLen = 1; + excludes = [ "docs/*" "test/*" ]; + sha256 = "0gxgmi0qbm89mq911dahallhi8m6wa9vpklklqmxafx4rplrr8ph"; + }) ]; postPatch = '' @@ -95,11 +107,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -118,6 +139,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix index 257bc34092fe2..65b024e8cc320 100644 --- a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix @@ -1,20 +1,21 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let useLLVM = stdenv.hostPlatform.useLLVM or false; + isNewDarwinBootstrap = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in -stdenv.mkDerivation rec { - pname = "compiler-rt"; +stdenv.mkDerivation { + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; - src = fetch pname "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy"; + src = fetch "compiler-rt" "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy"; nativeBuildInputs = [ cmake python3 llvm.dev ]; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; NIX_CFLAGS_COMPILE = [ "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" @@ -24,19 +25,20 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ + ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isNewDarwinBootstrap) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals (!haveLibc || 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)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" + ] ++ lib.optionals (!haveLibc) [ "-DCMAKE_C_FLAGS=-nodefaultlibs" + ] ++ lib.optionals (useLLVM || isNewDarwinBootstrap) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" #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" ] ++ lib.optionals (bareMetal) [ @@ -60,6 +62,10 @@ stdenv.mkDerivation rec { ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; + preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' + cmakeFlagsArray+=("-DCMAKE_LIPO=$(command -v ${stdenv.cc.targetPrefix}lipo)") + ''; + # 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 @@ -70,7 +76,7 @@ stdenv.mkDerivation rec { --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(ARM64 arm64 arm64e)' 'set(ARM64)' + --replace 'foreach(arch ''${ARM64})' 'foreach(arch)' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' '' + lib.optionalString (useLLVM) '' @@ -92,4 +98,19 @@ stdenv.mkDerivation rec { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix index 69c6564babe75..3c6d767561ee9 100644 --- a/pkgs/development/compilers/llvm/11/default.nix +++ b/pkgs/development/compilers/llvm/11/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools }: let @@ -18,6 +30,12 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "18n1w1hkv931xzq02b34wglbv6zd6sd0r5kb8piwvag7klj7qw3n"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands0 = cc: '' @@ -31,16 +49,27 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; @@ -83,9 +112,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; # Below, is the LLVM bootstrapping logic. It handles building a # fully LLVM toolchain from scratch. No GCC toolchain should be @@ -94,14 +127,21 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools.nix {}; + bintools-unwrapped = callPackage ./bintools {}; - lldClang = wrapCCWith rec { + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; + + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt @@ -113,17 +153,17 @@ let echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -134,13 +174,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -150,52 +187,77 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; - })); + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); - - libcxxabi = callPackage ./libc++abi ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp.nix {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/11/libc++/default.nix b/pkgs/development/compilers/llvm/11/libcxx/default.nix index e095350cea773..596d7f9976bbd 100644 --- a/pkgs/development/compilers/llvm/11/libc++/default.nix +++ b/pkgs/development/compilers/llvm/11/libcxx/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "1rgqsqpgi0vkga5d7hy0iyfsqgzfz7q1xy7afdfa1snp1qjks8xv"; @@ -25,7 +25,9 @@ stdenv.mkDerivation { stripLen = 1; }) ./gnu-install-dirs.patch - ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + ../../libcxx-0001-musl-hacks.patch + ]; preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' patchShebangs utils/cat_files.py @@ -44,16 +46,34 @@ stdenv.mkDerivation { "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" + + # TODO: this is a bit of a hack to cross compile to Apple Silicon. libcxx + # starting with 11 enables CMAKE_BUILD_WITH_INSTALL_NAME_DIR which requires + # platform setup for rpaths. In cmake, this is enabled when macos is newer + # than 10.5. However CMAKE_SYSTEM_VERSION is set to empty (TODO: why?) + # which prevents the conditional configuration, and configure fails. The + # value here corresponds to `uname -r`. If stdenv.hostPlatform.release is + # not null, then this property will be set via mkDerivation (TODO: how can + # we set this?). + ++ lib.optional ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && + stdenv.hostPlatform != stdenv.buildPlatform + ) "-DCMAKE_SYSTEM_VERSION=20.1.0"; passthru = { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.all; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/11/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/11/libcxx/gnu-install-dirs.patch index 2b95d6a85d8fe..2b95d6a85d8fe 100644 --- a/pkgs/development/compilers/llvm/11/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/11/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/11/libc++abi/default.nix b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix index a79a0d2f07ad8..65e0139a59106 100644 --- a/pkgs/development/compilers/llvm/11/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "1azcf31mxw59hb1x17xncnm3dyw90ylh8rqx462lvypqh3nr6c8l"; @@ -48,7 +48,7 @@ stdenv.mkDerivation { # the magic combination of necessary CMake variables # if you fancy a try, take a look at # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling - install_name_tool -id $out/$file $file + ${stdenv.cc.targetPrefix}install_name_tool -id $out/$file $file done make install install -d 755 $out/include @@ -64,11 +64,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.all; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/11/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/11/libcxxabi/gnu-install-dirs.patch index 10651c1255ef6..10651c1255ef6 100644 --- a/pkgs/development/compilers/llvm/11/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/11/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/11/libc++abi/no-threads.patch b/pkgs/development/compilers/llvm/11/libcxxabi/no-threads.patch index 787f3e16500e2..787f3e16500e2 100644 --- a/pkgs/development/compilers/llvm/11/libc++abi/no-threads.patch +++ b/pkgs/development/compilers/llvm/11/libcxxabi/no-threads.patch diff --git a/pkgs/development/compilers/llvm/11/libc++abi/wasm.patch b/pkgs/development/compilers/llvm/11/libcxxabi/wasm.patch index 4ebfe46aa813d..4ebfe46aa813d 100644 --- a/pkgs/development/compilers/llvm/11/libc++abi/wasm.patch +++ b/pkgs/development/compilers/llvm/11/libcxxabi/wasm.patch diff --git a/pkgs/development/compilers/llvm/11/libunwind/default.nix b/pkgs/development/compilers/llvm/11/libunwind/default.nix index 6b095f4feae88..462d63283baf8 100644 --- a/pkgs/development/compilers/llvm/11/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/11/libunwind/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, llvm_meta, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -17,4 +17,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; } diff --git a/pkgs/development/compilers/llvm/11/lld/default.nix b/pkgs/development/compilers/llvm/11/lld/default.nix index 3ee5ba6e5a673..d344d3d3c1174 100644 --- a/pkgs/development/compilers/llvm/11/lld/default.nix +++ b/pkgs/development/compilers/llvm/11/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -28,10 +28,16 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/11/lldb/default.nix b/pkgs/development/compilers/llvm/11/lldb/default.nix index 2979a46a6ccd9..785ac4671ef52 100644 --- a/pkgs/development/compilers/llvm/11/lldb/default.nix +++ b/pkgs/development/compilers/llvm/11/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -76,11 +76,15 @@ stdenv.mkDerivation (rec { ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://lldb.llvm.org"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } // lib.optionalAttrs enableManpages { pname = "lldb-manpages"; @@ -104,5 +108,7 @@ stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLDB ${version}"; + meta = llvm_meta // { + description = "man pages for LLDB ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/11/llvm/default.nix b/pkgs/development/compilers/llvm/11/llvm/default.nix index c8033b585cb16..941a85e6ad0de 100644 --- a/pkgs/development/compilers/llvm/11/llvm/default.nix +++ b/pkgs/development/compilers/llvm/11/llvm/default.nix @@ -1,6 +1,7 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch +, fetchpatch , cmake , python3 , libffi @@ -57,6 +58,13 @@ in stdenv.mkDerivation (rec { patches = [ ./gnu-install-dirs.patch + # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. + (fetchpatch { + name = "uops-CMOV16rm-noreg.diff"; + url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; + sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; + stripLen = 1; + }) ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; postPatch = optionalString stdenv.isDarwin '' @@ -174,12 +182,23 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -201,5 +220,7 @@ in stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/11/openmp.nix b/pkgs/development/compilers/llvm/11/openmp.nix deleted file mode 100644 index c99358cd28780..0000000000000 --- a/pkgs/development/compilers/llvm/11/openmp.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib -, stdenv -, fetch -, fetchpatch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation rec { - pname = "openmp"; - inherit version; - - src = fetch pname "0bh5cswgpc79awlq8j5i7hp355adaac7s6zaz0zwp6mkflxli1yi"; - - patches = [ - # Fix compilation on aarch64-darwin, remove after the next release. - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/7b5254223acbf2ef9cd278070c5a84ab278d7e5f.patch"; - sha256 = "sha256-A+9/IVIoazu68FK5H5CiXcOEYe1Hpp4xTx2mIw7m8Es="; - stripLen = 1; - }) - ]; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/11/openmp/default.nix b/pkgs/development/compilers/llvm/11/openmp/default.nix new file mode 100644 index 0000000000000..330560a677dcf --- /dev/null +++ b/pkgs/development/compilers/llvm/11/openmp/default.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, fetchpatch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation rec { + pname = "openmp"; + inherit version; + + src = fetch pname "0bh5cswgpc79awlq8j5i7hp355adaac7s6zaz0zwp6mkflxli1yi"; + + patches = [ + # Fix compilation on aarch64-darwin, remove after the next release. + (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/7b5254223acbf2ef9cd278070c5a84ab278d7e5f.patch"; + sha256 = "sha256-A+9/IVIoazu68FK5H5CiXcOEYe1Hpp4xTx2mIw7m8Es="; + stripLen = 1; + }) + ]; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix index b880a0071b9e1..895af8f2f020d 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix @@ -4,14 +4,15 @@ let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in -stdenv.mkDerivation rec { - pname = "compiler-rt"; +stdenv.mkDerivation { + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; - src = fetch pname "0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45"; + src = fetch "compiler-rt" "0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45"; nativeBuildInputs = [ cmake python3 llvm.dev ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; @@ -29,14 +30,15 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ "-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)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" ] ++ 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" ] ++ lib.optionals (bareMetal) [ @@ -59,7 +61,6 @@ stdenv.mkDerivation rec { ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ++ lib.optional stdenv.hostPlatform.isAarch32 ./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 diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix index ea054107e0562..35228eac43beb 100644 --- a/pkgs/development/compilers/llvm/12/default.nix +++ b/pkgs/development/compilers/llvm/12/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools , darwin }: @@ -38,6 +50,15 @@ let ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { libllvm = callPackage ./llvm { @@ -95,7 +116,7 @@ let lld = callPackage ./lld { inherit llvm_meta; - libunwind = libraries.libunwind; + inherit (libraries) libunwind; }; lldb = callPackage ./lldb { @@ -112,14 +133,21 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools {}; + bintools-unwrapped = callPackage ./bintools {}; + + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; - lldClang = wrapCCWith rec { + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt @@ -131,17 +159,17 @@ let echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -152,13 +180,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -168,52 +193,78 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 ({ inherit llvm_meta; } // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; - })); + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libcxx ({ inherit llvm_meta; } // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); - - libcxxabi = callPackage ./libcxxabi ({ inherit llvm_meta; } // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp { inherit llvm_meta; }; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({ inherit llvm_meta; } // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libunwind = callPackage ./libunwind { + inherit llvm_meta; + inherit (buildLlvmTools) llvm; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/12/libcxx/default.nix b/pkgs/development/compilers/llvm/12/libcxx/default.nix index 7b3b26b959e46..1c9a7dd3c53bf 100644 --- a/pkgs/development/compilers/llvm/12/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/12/libcxx/default.nix @@ -15,7 +15,13 @@ stdenv.mkDerivation { mv llvm-* llvm ''; - patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + outputs = [ "out" "dev" ]; + + patches = [ + ./gnu-install-dirs.patch + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + ../../libcxx-0001-musl-hacks.patch + ]; preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' patchShebangs utils/cat_files.py diff --git a/pkgs/development/compilers/llvm/12/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/libcxx/gnu-install-dirs.patch new file mode 100644 index 0000000000000..1f9de00a9d56f --- /dev/null +++ b/pkgs/development/compilers/llvm/12/libcxx/gnu-install-dirs.patch @@ -0,0 +1,100 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9bf1a02f0908..612cd4aab76c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,6 +28,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build") + if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD) + project(libcxx CXX C) + ++ include(GNUInstallDirs) ++ + set(PACKAGE_NAME libcxx) + set(PACKAGE_VERSION 12.0.0) + set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") +@@ -402,7 +404,7 @@ endif () + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) + set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR}) +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) ++ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) + if(LIBCXX_LIBDIR_SUBDIR) + string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR}) + string(APPEND LIBCXX_INSTALL_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR}) +@@ -410,11 +412,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + elseif(LLVM_LIBRARY_OUTPUT_INTDIR) + set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) + set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR}) +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) ++ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) + else() + set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX}) + set(LIBCXX_HEADER_DIR ${CMAKE_BINARY_DIR}) +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) ++ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) + endif() + + file(MAKE_DIRECTORY "${LIBCXX_BINARY_INCLUDE_DIR}") +diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake +index 5d2764e870e9..bb1ec5de6ca2 100644 +--- a/cmake/Modules/HandleLibCXXABI.cmake ++++ b/cmake/Modules/HandleLibCXXABI.cmake +@@ -63,7 +63,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs) + + if (LIBCXX_INSTALL_HEADERS) + install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" +- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir} ++ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} + COMPONENT cxx-headers + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) +diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt +index 29a317b8ae9a..4747263cfd1b 100644 +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS) + foreach(file ${files}) + get_filename_component(dir ${file} DIRECTORY) + install(FILES ${file} +- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir} ++ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir} + COMPONENT cxx-headers + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) +@@ -260,7 +260,7 @@ if (LIBCXX_INSTALL_HEADERS) + + # Install the generated header as __config. + install(FILES ${LIBCXX_BINARY_DIR}/__generated_config +- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1 ++ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + RENAME __config + COMPONENT cxx-headers) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9965104cb5b2..9b55dbb1d822 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -352,21 +352,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY) + install(TARGETS cxx_shared + ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx + LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx +- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) ++ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) + endif() + + if (LIBCXX_INSTALL_STATIC_LIBRARY) + install(TARGETS cxx_static + ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx + LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx +- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) ++ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) + endif() + + if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY) + install(TARGETS cxx_experimental + LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx + ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx +- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) ++ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) + endif() + + # NOTE: This install command must go after the cxx install command otherwise diff --git a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix index 7c97426243806..e360cf8d0b2f1 100644 --- a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix @@ -8,18 +8,7 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "1cbmzspwjlr8f6sp73pw6ivf4dpg6rpc61by0q1m2zca2k6yif3a"; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; - - cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; + outputs = [ "out" "dev" ]; postUnpack = '' unpackFile ${libcxx.src} @@ -34,6 +23,23 @@ stdenv.mkDerivation { patch -p1 -d llvm -i ${./wasm.patch} ''; + patches = [ + ./gnu-install-dirs.patch + ]; + + nativeBuildInputs = [ cmake python3 ]; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + + cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXXABI_ENABLE_THREADS=OFF" + "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!enableShared) [ + "-DLIBCXXABI_ENABLE_SHARED=OFF" + ]; + installPhase = if stdenv.isDarwin then '' for file in lib/*.dylib; do diff --git a/pkgs/development/compilers/llvm/12/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/libcxxabi/gnu-install-dirs.patch new file mode 100644 index 0000000000000..b49b1685940f8 --- /dev/null +++ b/pkgs/development/compilers/llvm/12/libcxxabi/gnu-install-dirs.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 426c855288fc..a9812a994f53 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH + if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD) + project(libcxxabi CXX C) + ++ include(GNUInstallDirs) ++ + set(PACKAGE_NAME libcxxabi) + set(PACKAGE_VERSION 11.0.0) + set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") +@@ -180,17 +182,17 @@ set(CMAKE_MODULE_PATH + + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) + if(LIBCXX_LIBDIR_SUBDIR) + string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) + string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) + endif() + elseif(LLVM_LIBRARY_OUTPUT_INTDIR) + set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) + else() + set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) + endif() + + set(LIBCXXABI_INSTALL_PREFIX "" CACHE STRING "Define libc++abi destination prefix.") diff --git a/pkgs/development/compilers/llvm/12/lld/default.nix b/pkgs/development/compilers/llvm/12/lld/default.nix index d46f25b68b319..e2c7470d2fc5a 100644 --- a/pkgs/development/compilers/llvm/12/lld/default.nix +++ b/pkgs/development/compilers/llvm/12/lld/default.nix @@ -18,6 +18,13 @@ stdenv.mkDerivation rec { ./gnu-install-dirs.patch ]; + postPatch = '' + substituteInPlace MachO/CMakeLists.txt --replace \ + '(''${LLVM_MAIN_SRC_DIR}/' '(' + mkdir -p libunwind/include + tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/" + ''; + nativeBuildInputs = [ cmake ]; buildInputs = [ libllvm libxml2 ]; @@ -29,13 +36,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" ]; - postPatch = '' - substituteInPlace MachO/CMakeLists.txt --replace \ - '(''${LLVM_MAIN_SRC_DIR}/' '(' - mkdir -p libunwind/include - tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/" - ''; - meta = llvm_meta // { homepage = "https://lld.llvm.org/"; description = "The LLVM linker"; @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them. It also provides features that are useful for toolchain developers. - The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and WebAssembly in descending order of completeness. Internally, LLD consists of several different linkers. ''; diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix index 0bc704a815590..d2365745b9823 100644 --- a/pkgs/development/compilers/llvm/12/llvm/default.nix +++ b/pkgs/development/compilers/llvm/12/llvm/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, llvm_meta , pkgsBuildBuild , fetch +, fetchpatch , cmake , python3 , libffi @@ -56,10 +57,14 @@ in stdenv.mkDerivation (rec { propagatedBuildInputs = [ ncurses zlib ]; patches = [ - # Force a test to evaluate the saved benchmark for a CPU for which LLVM has - # an execution model. See NixOS/nixpkgs#119673. - ../../exegesis-force-bdver2.patch ./gnu-install-dirs.patch + # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. + (fetchpatch { + name = "uops-CMOV16rm-noreg.diff"; + url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; + sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; + stripLen = 1; + }) ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; postPatch = optionalString stdenv.isDarwin '' @@ -205,6 +210,8 @@ in stdenv.mkDerivation (rec { make docs-llvm-man ''; + propagatedBuildInputs = []; + installPhase = '' make -C docs install ''; diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix index bbeb9277683d3..b5887a23c65ec 100644 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/pkgs/development/compilers/llvm/5/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -88,11 +88,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -111,6 +120,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix index 7e85c420da03e..a14823571e17b 100644 --- a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -86,4 +86,19 @@ stdenv.mkDerivation { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index c416964b22a3b..d11c08329d54a 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -16,30 +16,41 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" mkdir "$rsrc" ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ''; in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; - libllvm-polly = callPackage ./llvm { enablePolly = true; }; + libllvm-polly = callPackage ./llvm { + inherit llvm_meta; + enablePolly = true; + }; llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; @@ -76,26 +87,38 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; }); 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 {}; + compiler-rt = callPackage ./compiler-rt { + inherit llvm_meta; + }; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ {}; + libcxx = callPackage ./libcxx { + inherit llvm_meta; + }; - libcxxabi = callPackage ./libc++abi {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + }; - openmp = callPackage ./openmp.nix {}; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libcxx/default.nix index 77421b4e6d8dc..44026fba187b7 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libcxx/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }: +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf"; @@ -45,10 +45,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.unix; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/5/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch index d9ea0dc7dfd0e..d9ea0dc7dfd0e 100644 --- a/pkgs/development/compilers/llvm/5/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/5/libc++abi/default.nix b/pkgs/development/compilers/llvm/5/libcxxabi/default.nix index 8bc3b9e2977b6..5146e20089b7d 100644 --- a/pkgs/development/compilers/llvm/5/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/5/libcxxabi/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv"; @@ -47,11 +47,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.unix; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/5/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch index 760d7194f7b9d..760d7194f7b9d 100644 --- a/pkgs/development/compilers/llvm/5/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/5/lld/default.nix b/pkgs/development/compilers/llvm/5/lld/default.nix index 73762e2d2e505..7e74e79a15c7e 100644 --- a/pkgs/development/compilers/llvm/5/lld/default.nix +++ b/pkgs/development/compilers/llvm/5/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -6,7 +6,7 @@ , version }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "lld"; inherit version; @@ -27,11 +27,16 @@ stdenv.mkDerivation { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; - badPlatforms = [ "x86_64-darwin" ]; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) + in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/5/lldb/default.nix b/pkgs/development/compilers/llvm/5/lldb/default.nix index 723792d1341c0..951e9c8e1ac6d 100644 --- a/pkgs/development/compilers/llvm/5/lldb/default.nix +++ b/pkgs/development/compilers/llvm/5/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , fetchpatch , cmake @@ -73,10 +73,14 @@ stdenv.mkDerivation rec { cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://llvm.org/"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } diff --git a/pkgs/development/compilers/llvm/5/llvm/default.nix b/pkgs/development/compilers/llvm/5/llvm/default.nix index 0cbd30c783c15..54fd783a7c2de 100644 --- a/pkgs/development/compilers/llvm/5/llvm/default.nix +++ b/pkgs/development/compilers/llvm/5/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch , fetchpatch @@ -173,12 +173,23 @@ stdenv.mkDerivation ({ checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -197,5 +208,7 @@ stdenv.mkDerivation ({ doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/5/openmp.nix b/pkgs/development/compilers/llvm/5/openmp.nix deleted file mode 100644 index 169c9c50324eb..0000000000000 --- a/pkgs/development/compilers/llvm/5/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/5/openmp/default.nix b/pkgs/development/compilers/llvm/5/openmp/default.nix new file mode 100644 index 0000000000000..3a1f97919dc33 --- /dev/null +++ b/pkgs/development/compilers/llvm/5/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + pname = "openmp"; + inherit version; + + src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix index 5c4894af9da9b..eba9111d9d323 100644 --- a/pkgs/development/compilers/llvm/6/clang/default.nix +++ b/pkgs/development/compilers/llvm/6/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -88,11 +88,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -111,6 +120,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix index 384305f5cf288..0ba96e5375b71 100644 --- a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let @@ -88,4 +88,19 @@ stdenv.mkDerivation { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index b78f7a62506d5..a0cc84d8d7337 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -16,30 +16,41 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "1w8ml7fyn4vyxmy59n2qm4r1k1kgwgwkaldp6m45fdv4g0kkfbhd"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands = cc: '' rsrc="$out/resource-root" mkdir "$rsrc" ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ''; in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; - libllvm-polly = callPackage ./llvm { enablePolly = true; }; + libllvm-polly = callPackage ./llvm { + inherit llvm_meta; + enablePolly = true; + }; llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; @@ -77,26 +88,38 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; }); 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 {}; + compiler-rt = callPackage ./compiler-rt { + inherit llvm_meta; + }; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ {}; + libcxx = callPackage ./libcxx { + inherit llvm_meta; + }; - libcxxabi = callPackage ./libc++abi {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + }; - openmp = callPackage ./openmp.nix {}; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libcxx/default.nix index 69314fbe2ba14..3e39dd840424d 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libcxx/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }: +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"; @@ -45,10 +45,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.unix; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/6/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/libcxx/gnu-install-dirs.patch index 33ff9ef123a46..33ff9ef123a46 100644 --- a/pkgs/development/compilers/llvm/6/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/6/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/6/libc++abi/default.nix b/pkgs/development/compilers/llvm/6/libcxxabi/default.nix index 04054f0ba0e75..6a03d8a1835e4 100644 --- a/pkgs/development/compilers/llvm/6/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/6/libcxxabi/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "0prqvdj317qrc8nddaq1hh2ag9algkd9wbkj3y4mr5588k12x7r0"; @@ -47,11 +47,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.unix; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/6/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/libcxxabi/gnu-install-dirs.patch index 649d28d6c459e..649d28d6c459e 100644 --- a/pkgs/development/compilers/llvm/6/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/6/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/6/lld/default.nix b/pkgs/development/compilers/llvm/6/lld/default.nix index 5bfd5f60e92ff..83b1991f453ca 100644 --- a/pkgs/development/compilers/llvm/6/lld/default.nix +++ b/pkgs/development/compilers/llvm/6/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -7,11 +7,11 @@ , version }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch "lld" "04afcfq2h7ysyqxxhyhb7ig4p0vdw7mi63kh8mffl74j0rc781p7"; + src = fetch pname "04afcfq2h7ysyqxxhyhb7ig4p0vdw7mi63kh8mffl74j0rc781p7"; patches = [ ./gnu-install-dirs.patch @@ -28,10 +28,16 @@ stdenv.mkDerivation { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) + in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/6/lldb/default.nix b/pkgs/development/compilers/llvm/6/lldb/default.nix index 31cc0ca68d71b..da3c4a73a590c 100644 --- a/pkgs/development/compilers/llvm/6/lldb/default.nix +++ b/pkgs/development/compilers/llvm/6/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , fetchpatch , cmake @@ -73,10 +73,14 @@ stdenv.mkDerivation rec { cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://llvm.org/"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } diff --git a/pkgs/development/compilers/llvm/6/llvm/default.nix b/pkgs/development/compilers/llvm/6/llvm/default.nix index 1c04a62c4d539..0907c89561717 100644 --- a/pkgs/development/compilers/llvm/6/llvm/default.nix +++ b/pkgs/development/compilers/llvm/6/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch , cmake @@ -167,12 +167,23 @@ stdenv.mkDerivation ({ checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -191,5 +202,7 @@ stdenv.mkDerivation ({ doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/6/openmp.nix b/pkgs/development/compilers/llvm/6/openmp.nix deleted file mode 100644 index 9de18065918c9..0000000000000 --- a/pkgs/development/compilers/llvm/6/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/6/openmp/default.nix b/pkgs/development/compilers/llvm/6/openmp/default.nix new file mode 100644 index 0000000000000..bc21220af7c7d --- /dev/null +++ b/pkgs/development/compilers/llvm/6/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + pname = "openmp"; + inherit version; + + src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/7/bintools.nix b/pkgs/development/compilers/llvm/7/bintools/default.nix index 53f7941e33699..53f7941e33699 100644 --- a/pkgs/development/compilers/llvm/7/bintools.nix +++ b/pkgs/development/compilers/llvm/7/bintools/default.nix diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix index 187602ef361e8..e1b031ad352b1 100644 --- a/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/pkgs/development/compilers/llvm/7/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -100,11 +100,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -123,6 +132,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix index 75d61a51e6010..5f64e2f2a27ea 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt/default.nix @@ -1,15 +1,16 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in stdenv.mkDerivation { - pname = "compiler-rt"; + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5"; @@ -29,14 +30,15 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ "-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)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" ] ++ 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" ] ++ lib.optionals (bareMetal) [ @@ -83,10 +85,25 @@ stdenv.mkDerivation { postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' ln -s "$out/lib"/*/* "$out/lib" '' + 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 + 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 ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch index fd7c6a690fade..41b501ec6497d 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index cd4c704fc824..5abcd1260381 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 7aa3f9099cc99..4057f206caf18 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools }: let @@ -16,6 +28,12 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "0lb4kdh7j2fhfz8kd6iv5df7m3pikiryk1vvwsf87spc90n09q0w"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands0 = cc: '' @@ -26,27 +44,43 @@ let ''; mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; - libllvm-polly = callPackage ./llvm { enablePolly = true; }; + libllvm-polly = callPackage ./llvm { + inherit llvm_meta; + enablePolly = true; + }; llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; clang-polly-unwrapped = callPackage ./clang { + inherit llvm_meta; inherit clang-tools-extra_src; libllvm = tools.libllvm-polly; enablePolly = true; @@ -84,9 +118,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; # Below, is the LLVM bootstrapping logic. It handles building a # fully LLVM toolchain from scratch. No GCC toolchain should be @@ -95,34 +133,43 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools.nix {}; + bintools-unwrapped = callPackage ./bintools {}; - lldClang = wrapCCWith rec { + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; + + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt + ] ++ 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 '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -133,13 +180,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -149,53 +193,79 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 { + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false - then overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt else stdenv; }; + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = + if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isDarwin) + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; + stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libcxxabi = callPackage ./libc++abi ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({ + libunwind = callPackage ./libunwind { + inherit llvm_meta; inherit (buildLlvmTools) llvm; - } // lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - }); + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp.nix {}; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libcxx/default.nix index afc59d9117945..ac10e8eb77e34 100644 --- a/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/7/libcxx/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "0kmhcapm2cjwalyiqasj9dmqbw59mcwdl8fgl951wg7ax84b8hj4"; @@ -17,7 +17,9 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch - ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + ../../libcxx-0001-musl-hacks.patch + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" @@ -34,7 +36,7 @@ stdenv.mkDerivation { ++ lib.optional stdenv.hostPlatform.isMusl python3 ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ libcxxabi ] ; + buildInputs = [ libcxxabi ]; cmakeFlags = [ "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" @@ -48,10 +50,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.unix; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/7/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch index 910e5287a866c..910e5287a866c 100644 --- a/pkgs/development/compilers/llvm/7/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/7/libc++abi/default.nix b/pkgs/development/compilers/llvm/7/libcxxabi/default.nix index 31ead6eb42158..1663b8c7291da 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/7/libcxxabi/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version , standalone ? stdenv.hostPlatform.useLLVM or false , withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm # on musl the shared objects don't build @@ -6,7 +6,7 @@ }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2"; @@ -58,11 +58,15 @@ stdenv.mkDerivation { ${lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"} ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.unix; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/7/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch index 92d9e94fdee7d..92d9e94fdee7d 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/7/libunwind/default.nix b/pkgs/development/compilers/llvm/7/libunwind/default.nix index 14c0abc5153f4..426895029b3eb 100644 --- a/pkgs/development/compilers/llvm/7/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/7/libunwind/default.nix @@ -1,12 +1,17 @@ -{ lib, stdenv, version, fetch, fetchpatch, cmake, llvm, libcxx +{ lib, stdenv, llvm_meta, version, fetch, fetchpatch, cmake, llvm , enableShared ? !stdenv.hostPlatform.isStatic }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "libunwind"; inherit version; - src = fetch "libunwind" "035dsxs10nyiqd00q07yycvmkjl01yz4jdlrjvmch8klxg4pyjhp"; + src = fetch pname "035dsxs10nyiqd00q07yycvmkjl01yz4jdlrjvmch8klxg4pyjhp"; + + postUnpack = '' + unpackFile ${llvm.src} + cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*)) + ''; patches = [ ./gnu-install-dirs.patch @@ -24,12 +29,25 @@ stdenv.mkDerivation { }) ]; - nativeBuildInputs = [ cmake llvm.dev ]; + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optionals (!enableShared) [ "-DLIBUNWIND_ENABLE_SHARED=OFF" ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ - "-DLIBUNWIND_HAS_NOSTDINCXX_FLAG=ON" "-DLLVM_ENABLE_LIBCXX=ON" ]; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; } diff --git a/pkgs/development/compilers/llvm/7/lld/default.nix b/pkgs/development/compilers/llvm/7/lld/default.nix index da863d5ad4a47..09a0a68e2572e 100644 --- a/pkgs/development/compilers/llvm/7/lld/default.nix +++ b/pkgs/development/compilers/llvm/7/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -7,11 +7,11 @@ , version }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch "lld" "0rsqb7zcnij5r5ipfhr129j7skr5n9pyr388kjpqwh091952f3x1"; + src = fetch pname "0rsqb7zcnij5r5ipfhr129j7skr5n9pyr388kjpqwh091952f3x1"; patches = [ ./gnu-install-dirs.patch @@ -28,10 +28,16 @@ stdenv.mkDerivation { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) + in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/7/lldb/default.nix b/pkgs/development/compilers/llvm/7/lldb/default.nix index 9788849287968..e2eab31697d7f 100644 --- a/pkgs/development/compilers/llvm/7/lldb/default.nix +++ b/pkgs/development/compilers/llvm/7/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -76,10 +76,14 @@ stdenv.mkDerivation rec { cp ../docs/lldb.1 $out/share/man/man1/ ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://llvm.org/"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } diff --git a/pkgs/development/compilers/llvm/7/llvm/default.nix b/pkgs/development/compilers/llvm/7/llvm/default.nix index 6f189779f8481..4a9b4f5182056 100644 --- a/pkgs/development/compilers/llvm/7/llvm/default.nix +++ b/pkgs/development/compilers/llvm/7/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch , fetchpatch @@ -184,12 +184,23 @@ in stdenv.mkDerivation ({ checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -211,5 +222,7 @@ in stdenv.mkDerivation ({ doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/7/openmp.nix b/pkgs/development/compilers/llvm/7/openmp.nix deleted file mode 100644 index 53f52c326c55b..0000000000000 --- a/pkgs/development/compilers/llvm/7/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/7/openmp/default.nix b/pkgs/development/compilers/llvm/7/openmp/default.nix new file mode 100644 index 0000000000000..c331762712f2d --- /dev/null +++ b/pkgs/development/compilers/llvm/7/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + pname = "openmp"; + inherit version; + + src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/8/bintools.nix b/pkgs/development/compilers/llvm/8/bintools/default.nix index 53f7941e33699..53f7941e33699 100644 --- a/pkgs/development/compilers/llvm/8/bintools.nix +++ b/pkgs/development/compilers/llvm/8/bintools/default.nix diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix index c82b3e873e8c0..c3399dccd1d77 100644 --- a/pkgs/development/compilers/llvm/8/clang/default.nix +++ b/pkgs/development/compilers/llvm/8/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -107,11 +107,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -130,6 +139,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix index d370de031bb5b..d6d60b241501c 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix @@ -1,15 +1,16 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in stdenv.mkDerivation { - pname = "compiler-rt"; + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi"; @@ -29,14 +30,15 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ "-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)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" ] ++ 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" ] ++ lib.optionals (bareMetal) [ @@ -89,4 +91,19 @@ stdenv.mkDerivation { ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ''; + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch index 1c2e7f0b3116f..a25fa90f98006 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index 81b110203c27..df7598a11caf 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix index bcbbd155e36c1..a7a293cfbbf67 100644 --- a/pkgs/development/compilers/llvm/8/default.nix +++ b/pkgs/development/compilers/llvm/8/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools }: let @@ -16,6 +28,12 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "1qf3097bc5ia8p6cpmbx985rjr3yaah5s8fc0nv7pw742yv7jw8q"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands0 = cc: '' @@ -26,27 +44,43 @@ let ''; mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; - libllvm-polly = callPackage ./llvm { enablePolly = true; }; + libllvm-polly = callPackage ./llvm { + inherit llvm_meta; + enablePolly = true; + }; llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; clang-polly-unwrapped = callPackage ./clang { + inherit llvm_meta; inherit clang-tools-extra_src; libllvm = tools.libllvm-polly; enablePolly = true; @@ -85,9 +119,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; # Below, is the LLVM bootstrapping logic. It handles building a # fully LLVM toolchain from scratch. No GCC toolchain should be @@ -96,14 +134,21 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools.nix {}; + bintools-unwrapped = callPackage ./bintools {}; + + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; - lldClang = wrapCCWith rec { + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt @@ -115,17 +160,17 @@ let echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -136,13 +181,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -152,52 +194,77 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; - })); + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); - - libcxxabi = callPackage ./libc++abi ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp.nix {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/8/libc++/default.nix b/pkgs/development/compilers/llvm/8/libcxx/default.nix index d73600b441d1d..804b9a53c24a1 100644 --- a/pkgs/development/compilers/llvm/8/libc++/default.nix +++ b/pkgs/development/compilers/llvm/8/libcxx/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "0y4vc9z36c1zlq15cnibdzxnc1xi5glbc6klnm8a41q3db4541kz"; @@ -17,7 +17,9 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch - ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + ../../libcxx-0001-musl-hacks.patch + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" @@ -51,10 +53,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.all; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/8/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch index 6af403ac86b44..6af403ac86b44 100644 --- a/pkgs/development/compilers/llvm/8/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/8/libc++abi/default.nix b/pkgs/development/compilers/llvm/8/libcxxabi/default.nix index 5659bb4f14acf..593b1df9b7ade 100644 --- a/pkgs/development/compilers/llvm/8/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/8/libcxxabi/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "1vznz8n1z1h8af0ga451m98lc2hjnv4fyzl71napsvjhvk4g6nxp"; @@ -63,11 +63,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.all; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/8/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch index 3f924b0efbea7..3f924b0efbea7 100644 --- a/pkgs/development/compilers/llvm/8/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/8/libc++abi/no-threads.patch b/pkgs/development/compilers/llvm/8/libcxxabi/no-threads.patch index 787f3e16500e2..787f3e16500e2 100644 --- a/pkgs/development/compilers/llvm/8/libc++abi/no-threads.patch +++ b/pkgs/development/compilers/llvm/8/libcxxabi/no-threads.patch diff --git a/pkgs/development/compilers/llvm/8/libc++abi/wasm.patch b/pkgs/development/compilers/llvm/8/libcxxabi/wasm.patch index 4ebfe46aa813d..4ebfe46aa813d 100644 --- a/pkgs/development/compilers/llvm/8/libc++abi/wasm.patch +++ b/pkgs/development/compilers/llvm/8/libcxxabi/wasm.patch diff --git a/pkgs/development/compilers/llvm/8/libunwind/default.nix b/pkgs/development/compilers/llvm/8/libunwind/default.nix index e38f2072cede0..244b5775bdc8c 100644 --- a/pkgs/development/compilers/llvm/8/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/8/libunwind/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, llvm_meta, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -25,4 +25,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; } diff --git a/pkgs/development/compilers/llvm/8/lld/default.nix b/pkgs/development/compilers/llvm/8/lld/default.nix index 696403d1bf65a..66b59937e5f14 100644 --- a/pkgs/development/compilers/llvm/8/lld/default.nix +++ b/pkgs/development/compilers/llvm/8/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -7,11 +7,11 @@ , version }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch "lld" "121xhxrlvwy3k5nf6p1wv31whxlb635ssfkci8z93mwv4ja1xflz"; + src = fetch pname "121xhxrlvwy3k5nf6p1wv31whxlb635ssfkci8z93mwv4ja1xflz"; patches = [ ./gnu-install-dirs.patch @@ -28,10 +28,16 @@ stdenv.mkDerivation { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/8/lldb/default.nix b/pkgs/development/compilers/llvm/8/lldb/default.nix index 95bf4aae05462..ee1f678996a61 100644 --- a/pkgs/development/compilers/llvm/8/lldb/default.nix +++ b/pkgs/development/compilers/llvm/8/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -70,10 +70,14 @@ stdenv.mkDerivation rec { ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://llvm.org/"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix index 8ea9b287c7ce9..6f14b375c62cf 100644 --- a/pkgs/development/compilers/llvm/8/llvm/default.nix +++ b/pkgs/development/compilers/llvm/8/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch , fetchpatch @@ -168,12 +168,23 @@ in stdenv.mkDerivation ({ checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -195,5 +206,7 @@ in stdenv.mkDerivation ({ doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/8/openmp.nix b/pkgs/development/compilers/llvm/8/openmp.nix deleted file mode 100644 index b5d75d9c87240..0000000000000 --- a/pkgs/development/compilers/llvm/8/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/8/openmp/default.nix b/pkgs/development/compilers/llvm/8/openmp/default.nix new file mode 100644 index 0000000000000..e8459d2798292 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + pname = "openmp"; + inherit version; + + src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/9/bintools.nix b/pkgs/development/compilers/llvm/9/bintools/default.nix index 53f7941e33699..53f7941e33699 100644 --- a/pkgs/development/compilers/llvm/9/bintools.nix +++ b/pkgs/development/compilers/llvm/9/bintools/default.nix diff --git a/pkgs/development/compilers/llvm/9/clang/default.nix b/pkgs/development/compilers/llvm/9/clang/default.nix index f1c21083bb668..700fcb414fceb 100644 --- a/pkgs/development/compilers/llvm/9/clang/default.nix +++ b/pkgs/development/compilers/llvm/9/clang/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 +{ lib, stdenv, llvm_meta, fetch, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false @@ -102,11 +102,20 @@ let inherit libllvm; }; - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; }; } // lib.optionalAttrs enableManpages { pname = "clang-manpages"; @@ -125,6 +134,8 @@ let doCheck = false; - meta.description = "man page for Clang ${version}"; + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; }); in self diff --git a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix index 285fe811514ff..c31ce78ea0f77 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/9/compiler-rt/default.nix @@ -1,17 +1,18 @@ -{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: +{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }: let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; inherit (stdenv.hostPlatform) isMusl; in -stdenv.mkDerivation rec { - pname = "compiler-rt"; +stdenv.mkDerivation { + pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; inherit version; - src = fetch pname "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2"; + src = fetch "compiler-rt" "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2"; nativeBuildInputs = [ cmake python3 llvm.dev ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; @@ -29,14 +30,15 @@ stdenv.mkDerivation rec { "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ "-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)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" ] ++ 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" ] ++ lib.optionals (bareMetal) [ @@ -87,4 +89,20 @@ stdenv.mkDerivation rec { 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 ''; + + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; } diff --git a/pkgs/development/compilers/llvm/9/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/9/compiler-rt/gnu-install-dirs.patch index 7967bbc48550d..9f63bef2f8610 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/9/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index f7ee932f214f..ef94a97c4be9 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix index 0660bac137f69..8521354dbb8e8 100644 --- a/pkgs/development/compilers/llvm/9/default.nix +++ b/pkgs/development/compilers/llvm/9/default.nix @@ -1,7 +1,19 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools }: let @@ -16,6 +28,12 @@ let clang-tools-extra_src = fetch "clang-tools-extra" "01vgzd4k1q93nfs8gyl83mjlc4x0qsgfqw32lacbjzdxg0mdfvxj"; + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + tools = lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); mkExtraBuildCommands0 = cc: '' @@ -26,27 +44,43 @@ let ''; mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ''; + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + in { - libllvm = callPackage ./llvm { }; + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; # `llvm` historically had the binaries. When choosing an output explicitly, # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm.out // { outputUnspecified = true; }; - libllvm-polly = callPackage ./llvm { enablePolly = true; }; + libllvm-polly = callPackage ./llvm { + inherit llvm_meta; + enablePolly = true; + }; llvm-polly = tools.libllvm-polly.lib // { outputUnspecified = true; }; libclang = callPackage ./clang { - inherit clang-tools-extra_src; + inherit clang-tools-extra_src llvm_meta; }; clang-unwrapped = tools.libclang.out // { outputUnspecified = true; }; clang-polly-unwrapped = callPackage ./clang { + inherit llvm_meta; inherit clang-tools-extra_src; libllvm = tools.libllvm-polly; enablePolly = true; @@ -85,9 +119,13 @@ let extraBuildCommands = mkExtraBuildCommands cc; }; - lld = callPackage ./lld {}; + lld = callPackage ./lld { + inherit llvm_meta; + }; - lldb = callPackage ./lldb {}; + lldb = callPackage ./lldb { + inherit llvm_meta; + }; # Below, is the LLVM bootstrapping logic. It handles building a # fully LLVM toolchain from scratch. No GCC toolchain should be @@ -96,14 +134,21 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools = callPackage ./bintools.nix {}; + bintools-unwrapped = callPackage ./bintools {}; + + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; - lldClang = wrapCCWith rec { + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.libcxxabi targetLlvmLibraries.compiler-rt @@ -115,17 +160,17 @@ let echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags '' + lib.optionalString stdenv.targetPlatform.isWasm '' echo "-fno-exceptions" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands cc; }; - lldClangNoLibcxx = wrapCCWith rec { + clangNoLibcxx = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - }; + bintools = bintools'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -136,13 +181,10 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoLibc = wrapCCWith rec { + clangNoLibc = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ targetLlvmLibraries.compiler-rt ]; @@ -152,52 +194,77 @@ let '' + mkExtraBuildCommands cc; }; - lldClangNoCompilerRt = wrapCCWith rec { + clangNoCompilerRt = wrapCCWith rec { cc = tools.clang-unwrapped; libcxx = null; - bintools = wrapBintoolsWith { - inherit (tools) bintools; - libc = null; - }; + bintools = bintoolsNoLibc'; extraPackages = [ ]; extraBuildCommands = '' echo "-nostartfiles" >> $out/nix-support/cc-cflags '' + mkExtraBuildCommands0 cc; }; + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + }); 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 ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; - })); + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; stdenv = overrideCC stdenv buildLlvmTools.clang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libc++ ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); - - libcxxabi = callPackage ./libc++abi ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - libunwind = libraries.libunwind; - })); + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - openmp = callPackage ./openmp.nix {}; + libcxxabi = callPackage ./libcxxabi { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; - libunwind = callPackage ./libunwind ({} // - (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { - stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; - })); + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + openmp = callPackage ./openmp { + inherit llvm_meta; + }; }); in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/9/libc++/default.nix b/pkgs/development/compilers/llvm/9/libcxx/default.nix index 3cdb4f32a050d..b2022f23e511f 100644 --- a/pkgs/development/compilers/llvm/9/libc++/default.nix +++ b/pkgs/development/compilers/llvm/9/libcxx/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version +{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++"; + pname = "libcxx"; inherit version; src = fetch "libcxx" "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"; @@ -17,7 +17,9 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch - ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + ] ++ lib.optionals 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 @@ -47,10 +49,15 @@ stdenv.mkDerivation { isLLVM = true; }; - meta = { + meta = llvm_meta // { homepage = "https://libcxx.llvm.org/"; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with lib.licenses; [ ncsa mit ]; - platforms = lib.platforms.all; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; }; } diff --git a/pkgs/development/compilers/llvm/9/libc++/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/9/libcxx/gnu-install-dirs.patch index 424488bd2e522..424488bd2e522 100644 --- a/pkgs/development/compilers/llvm/9/libc++/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/9/libcxx/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/9/libc++abi/default.nix b/pkgs/development/compilers/llvm/9/libcxxabi/default.nix index 5358985f448ef..2af3322fd68d4 100644 --- a/pkgs/development/compilers/llvm/9/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/9/libcxxabi/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version +{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version , enableShared ? !stdenv.hostPlatform.isStatic }: stdenv.mkDerivation { - pname = "libc++abi"; + pname = "libcxxabi"; inherit version; src = fetch "libcxxabi" "1b4aiaa8cirx52vk2p5kfk57qmbqf1ipb4nqnjhdgqps9jm7iyg8"; @@ -63,11 +63,15 @@ stdenv.mkDerivation { ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - meta = { + meta = llvm_meta // { homepage = "https://libcxxabi.llvm.org/"; - description = "A new implementation of low level support for a standard C++ library"; - license = with lib.licenses; [ ncsa mit ]; - maintainers = with lib.maintainers; [ vlstill ]; - platforms = lib.platforms.all; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; }; } diff --git a/pkgs/development/compilers/llvm/9/libc++abi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/9/libcxxabi/gnu-install-dirs.patch index 70b41a6ff5318..70b41a6ff5318 100644 --- a/pkgs/development/compilers/llvm/9/libc++abi/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/9/libcxxabi/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/9/libc++abi/no-threads.patch b/pkgs/development/compilers/llvm/9/libcxxabi/no-threads.patch index 787f3e16500e2..787f3e16500e2 100644 --- a/pkgs/development/compilers/llvm/9/libc++abi/no-threads.patch +++ b/pkgs/development/compilers/llvm/9/libcxxabi/no-threads.patch diff --git a/pkgs/development/compilers/llvm/9/libc++abi/wasm.patch b/pkgs/development/compilers/llvm/9/libcxxabi/wasm.patch index 4ebfe46aa813d..4ebfe46aa813d 100644 --- a/pkgs/development/compilers/llvm/9/libc++abi/wasm.patch +++ b/pkgs/development/compilers/llvm/9/libcxxabi/wasm.patch diff --git a/pkgs/development/compilers/llvm/9/libunwind/default.nix b/pkgs/development/compilers/llvm/9/libunwind/default.nix index fdb362dcd2e3c..65b89c6bb18f0 100644 --- a/pkgs/development/compilers/llvm/9/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/9/libunwind/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, version, fetch, cmake, fetchpatch +{ lib, stdenv, llvm_meta, version, fetch, cmake, fetchpatch , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -17,4 +17,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; } diff --git a/pkgs/development/compilers/llvm/9/lld/default.nix b/pkgs/development/compilers/llvm/9/lld/default.nix index cd84afe70e46f..d13e6a107dd9f 100644 --- a/pkgs/development/compilers/llvm/9/lld/default.nix +++ b/pkgs/development/compilers/llvm/9/lld/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , buildLlvmTools , fetch , cmake @@ -28,10 +28,16 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" ]; - meta = { - description = "The LLVM Linker"; - homepage = "https://lld.llvm.org/"; - license = lib.licenses.ncsa; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; }; } diff --git a/pkgs/development/compilers/llvm/9/lldb/default.nix b/pkgs/development/compilers/llvm/9/lldb/default.nix index 6d753ce1a869c..9957a0218da8a 100644 --- a/pkgs/development/compilers/llvm/9/lldb/default.nix +++ b/pkgs/development/compilers/llvm/9/lldb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , fetch , cmake , zlib @@ -70,10 +70,14 @@ stdenv.mkDerivation rec { ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ''; - meta = with lib; { + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; description = "A next-generation high-performance debugger"; - homepage = "https://llvm.org/"; - license = licenses.ncsa; - platforms = platforms.all; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; }; } diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix index 78d8d7b30ef0f..cf064b75b3f5c 100644 --- a/pkgs/development/compilers/llvm/9/llvm/default.nix +++ b/pkgs/development/compilers/llvm/9/llvm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, llvm_meta , pkgsBuildBuild , fetch , cmake @@ -57,6 +57,9 @@ in stdenv.mkDerivation (rec { patches = [ ./gnu-install-dirs.patch + # Force a test to evaluate the saved benchmark for a CPU for which LLVM has + # an execution model. See NixOS/nixpkgs#119673. + ../../exegesis-force-bdver2.patch ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; postPatch = optionalString stdenv.isDarwin '' @@ -179,12 +182,23 @@ in stdenv.mkDerivation (rec { checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://llvm.org/"; - license = lib.licenses.ncsa; - maintainers = with lib.maintainers; [ lovek323 raskin dtzWill ]; - platforms = lib.platforms.all; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; }; } // lib.optionalAttrs enableManpages { pname = "llvm-manpages"; @@ -206,5 +220,7 @@ in stdenv.mkDerivation (rec { doCheck = false; - meta.description = "man pages for LLVM ${version}"; + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; }) diff --git a/pkgs/development/compilers/llvm/9/openmp.nix b/pkgs/development/compilers/llvm/9/openmp.nix deleted file mode 100644 index 416916f57ff2c..0000000000000 --- a/pkgs/development/compilers/llvm/9/openmp.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, stdenv -, fetch -, cmake -, llvm -, perl -, version -}: - -stdenv.mkDerivation rec { - pname = "openmp"; - inherit version; - - src = fetch pname "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ llvm ]; - - meta = { - description = "Components required to build an executable OpenMP program"; - homepage = "https://openmp.llvm.org/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/9/openmp/default.nix b/pkgs/development/compilers/llvm/9/openmp/default.nix new file mode 100644 index 0000000000000..bedd191d51345 --- /dev/null +++ b/pkgs/development/compilers/llvm/9/openmp/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, llvm_meta +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation rec { + pname = "openmp"; + inherit version; + + src = fetch pname "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/rust/1_51.nix b/pkgs/development/compilers/rust/1_52.nix index 17fafa4c7cb07..775792d06f602 100644 --- a/pkgs/development/compilers/rust/1_51.nix +++ b/pkgs/development/compilers/rust/1_52.nix @@ -19,8 +19,8 @@ } @ args: import ./default.nix { - rustcVersion = "1.51.0"; - rustcSha256 = "0ixqkqglv3isxbvl4ldr4byrkx692wghsz3fasy1pn5kr2prnsvs"; + rustcVersion = "1.52.1"; + rustcSha256 = "sha256-Om8jom0Oj4erv78yxc19qgwLcdCYar78Vrml+/vQv5g="; llvmSharedForBuild = pkgsBuildBuild.llvmPackages_11.libllvm.override { enableSharedLibraries = true; }; llvmSharedForHost = pkgsBuildHost.llvmPackages_11.libllvm.override { enableSharedLibraries = true; }; @@ -33,23 +33,23 @@ import ./default.nix { # Note: the version MUST be one version prior to the version we're # building - bootstrapVersion = "1.50.0"; + bootstrapVersion = "1.51.0"; # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` bootstrapHashes = { - i686-unknown-linux-gnu = "dee56dc425ed5d8e8112f26fba3060fd324c49f1261e0b7e8e29f7d9b852b09a"; - x86_64-unknown-linux-gnu = "fa889b53918980aea2dea42bfae4e858dcb2104c6fdca6e4fe359f3a49767701"; - x86_64-unknown-linux-musl = "867cbfb35f5dc9b43e230132ea9e7bfa98d471a9248e41b08ced2266e5ccd00f"; - arm-unknown-linux-gnueabihf = "1b72979244450e4047ab536448d6720699e1fae0ab1c4ade114099a3037e274b"; - armv7-unknown-linux-gnueabihf = "f1dde566c4e6ca2e1133c84170e46e566765a21894e1038e1cdc32745d7274ef"; - aarch64-unknown-linux-gnu = "1db7a4fbddc68cd29eb9bca9fa7d0d2d9e3d59ede7ddaad66222fb4336a6bacf"; - aarch64-unknown-linux-musl = "adcc6c76a8967bacb6687b565d3cf739e35fde066b03edb745b05b52fa8b5b36"; - x86_64-apple-darwin = "1bf5a7ecf6468ce1bf9fe49c8083b3f648b40c16fbfb7539d106fe28eb0e792e"; - aarch64-apple-darwin = "1ed91a867e7b86cc4bc84c0838240f1c25acd007100ec9f7a14c4873e4b56561"; - powerpc64le-unknown-linux-gnu = "e0472589d3f9ba7ebf27f033af320e0d5cfb70222955bd8ed73ce2c9a70ae535"; + i686-unknown-linux-gnu = "de2e8ef724d89ba6f567f07ebacf5a244c7cdae30ee559f1913310eda38d9cd1"; + x86_64-unknown-linux-gnu = "9e125977aa13f012a68fdc6663629c685745091ae244f0587dd55ea4e3a3e42f"; + x86_64-unknown-linux-musl = "cb65c3a19ba0e09a94ccfd8551e648efaa1db52b0db19ae475d35a46f8750871"; + arm-unknown-linux-gnueabihf = "ab26464947ce80b4c361b08242dc215a5664f9f4ad23f66891ec27d55a0440b7"; + armv7-unknown-linux-gnueabihf = "5d381b7ee16c559efefedfac7ec4d392e838fddaf50049255844dcff2b2614dd"; + aarch64-unknown-linux-gnu = "fd31c78fffad52c03cac5a7c1ee5db3f34b2a77d7bc862707c0f71e209180a84"; + aarch64-unknown-linux-musl = "06cdaa1117dcdd392ede938b655b9bc45cf2a76bd42870ca223189e6eb29d435"; + x86_64-apple-darwin = "765212098a415996b767d1e372ce266caf94027402b269fec33291fffc085ca4"; + aarch64-apple-darwin = "95d0410bbd20b05f8b7d5adf70e8737873995bc86611a90e643d7081ca35147f"; + powerpc64le-unknown-linux-gnu = "7362f561104d7be4836507d3a53cd39444efcdf065813d559beb1f54ce9f7680"; }; - selectRustPackage = pkgs: pkgs.rust_1_51; + selectRustPackage = pkgs: pkgs.rust_1_52; rustcPatches = [ ]; diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 3a7f29e322939..3ada23e74882e 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -1,5 +1,5 @@ { lib, stdenv, file, curl, pkg-config, python3, openssl, cmake, zlib -, installShellFiles, makeWrapper, libiconv, cacert, rustPlatform, rustc +, installShellFiles, makeWrapper, cacert, rustPlatform, rustc , CoreFoundation, Security }: @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage { nativeBuildInputs = [ pkg-config cmake installShellFiles makeWrapper ]; buildInputs = [ cacert file curl python3 openssl zlib ] - ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ]; + ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ]; # cargo uses git-rs which is made for a version of libgit2 from recent master that # is not compatible with the current version in nixpkgs. diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index b9bccf9f16e91..b8fca884edcf0 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -3,6 +3,7 @@ , fetchurl, file, python3 , darwin, cmake, rust, rustPlatform , pkg-config, openssl +, libiconv , which, libffi , withBundledLLVM ? false , enableRustcDev ? true @@ -137,7 +138,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ openssl ] - ++ optional stdenv.isDarwin Security + ++ optionals stdenv.isDarwin [ libiconv Security ] ++ optional (!withBundledLLVM) llvmShared; outputs = [ "out" "man" "doc" ]; diff --git a/pkgs/development/compilers/sbcl/2.0.8.nix b/pkgs/development/compilers/sbcl/2.0.8.nix index bbc171a8d9863..1784bf672b318 100644 --- a/pkgs/development/compilers/sbcl/2.0.8.nix +++ b/pkgs/development/compilers/sbcl/2.0.8.nix @@ -1,4 +1,4 @@ import ./common.nix { - version = "2.0.8"; - sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390"; + version = "2.1.2"; + sha256 = "sha256-t3EFUJOYVe1JWYxKAUSD7RILaZFliio7avpHcT3OTAs="; } diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix index 8bdbbadc9d60d..eaf1ff24d3e7a 100644 --- a/pkgs/development/compilers/sbcl/bootstrap.nix +++ b/pkgs/development/compilers/sbcl/bootstrap.nix @@ -2,6 +2,11 @@ let options = rec { + aarch64-darwin = { + version = "2.1.2"; + system = "arm64-darwin"; + sha256 = "sha256-H0ALigXcWIypdA+fTf7jERscwbb7QIAfcoxCtGDh0RU="; + }; x86_64-darwin = { version = "1.2.11"; system = "x86-64-darwin"; diff --git a/pkgs/development/compilers/sbcl/common.nix b/pkgs/development/compilers/sbcl/common.nix index 11ae960a53171..b020eeafc5cbe 100644 --- a/pkgs/development/compilers/sbcl/common.nix +++ b/pkgs/development/compilers/sbcl/common.nix @@ -2,7 +2,7 @@ { lib, stdenv, fetchurl, writeText, sbclBootstrap , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit" -, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system) +, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system) , disableImmobileSpace ? false # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die. # Note that the created binaries still need `patchelf --set-interpreter ...` @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { lib.concatStringsSep " " (builtins.map (x: "--with-${x}") enableFeatures ++ builtins.map (x: "--without-${x}") disableFeatures) - } + } ${if stdenv.hostPlatform.system == "aarch64-darwin" then "--arch=arm64" else ""} (cd doc/manual ; make info) runHook postBuild diff --git a/pkgs/development/compilers/zz/default.nix b/pkgs/development/compilers/zz/default.nix index 81c6e546e95ff..a0bf9a9ad8ff3 100644 --- a/pkgs/development/compilers/zz/default.nix +++ b/pkgs/development/compilers/zz/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ makeWrapper ]; - cargoSha256 = "0i3c459d4699z4dwvdw1495krdv3c2qpygrsw0cz3j0zd2n5gqj6"; + cargoSha256 = "03xdmm4993hqdb3cihjjv4n4mdk8lnlccva08fh6m1d56p807rni"; postPatch = '' # remove search path entry which would reference /build diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 693a5b61fbc43..f293048e81792 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -203,6 +203,13 @@ self: super: { sha256 = "0pqmijfkysjixg3gb4kmrqdif7s2saz8qi6k337jf15i0npzln8d"; revert = true; }) + # fix broken location annotations (necessary for update-nix-fetchgit). + # Can be removed on the next hnix release after + # https://github.com/haskell-nix/hnix/pull/936 is merged. + (pkgs.fetchpatch { + url = "https://github.com/expipiplus1/hnix/commit/7cd998426ab7d930d288a1d6e266dc4e85cece3d.patch"; + sha256 = "19ay6vxa90ykgdd0fis2djvki2kpgfsq7z55iyqg965m583vsfr6"; + }) ] ++ (drv.patches or []); })); @@ -1405,10 +1412,7 @@ self: super: { }" ''; - # 2021-04-09: test failure - # PR pending https://github.com/expipiplus1/update-nix-fetchgit/pull/60 - doCheck = false; - + # These can both be removed upon the release of update-nix-fetchgit-0.2.7 patches = [ # 2021-05-17 compile with hnix >= 0.13 # https://github.com/expipiplus1/update-nix-fetchgit/pull/64 @@ -1416,6 +1420,12 @@ self: super: { url = "https://github.com/expipiplus1/update-nix-fetchgit/commit/bc28c8b26c38093aa950574802012c0cd8447ce8.patch"; sha256 = "1dwd1jdsrx3ss6ql1bk2ch7ln74mkq6jy9ms8vi8kmf3gbg8l9fg"; }) + # Fix test failure + # https://github.com/expipiplus1/update-nix-fetchgit/pull/60 + (pkgs.fetchpatch { + url = "https://github.com/expipiplus1/update-nix-fetchgit/commit/4a43e1ea4e7e1c18de81e3f9fe0b86faa70865f5.patch"; + sha256 = "1z74c1blgwr4q37m1rhlj7534qbnp3nnxf63m8j2b7iz0ljgm0m9"; + }) ] ++ (drv.patches or []); })); diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index d6ba795d20ada..5ee88ebb8810d 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -258,7 +258,7 @@ in with passthru; stdenv.mkDerivation ({ LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; - NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2" + NIX_CFLAGS_COMPILE = optionalString (stdenv.targetPlatform.system == "x86_64-darwin") "-msse2" + optionalString stdenv.hostPlatform.isMusl " -DTHREAD_STACK_SIZE=0x100000"; DETERMINISTIC_BUILD = 1; diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 5f13418aa5886..328ed715baee9 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -73,13 +73,14 @@ with pkgs; optionalExtensions = cond: as: if cond then as else []; python2Extension = import ../../../top-level/python2-packages.nix; extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]); + aliases = self: super: lib.optionalAttrs (config.allowAliases or true) (import ../../../top-level/python-aliases.nix lib self super); in lib.makeScopeWithSplicing pkgs.splicePackages pkgs.newScope otherSplices keep extra - (lib.extends extensions pythonPackagesFun)) + (lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun)) { overrides = packageOverrides; }; diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh index eb45205ff731f..0f708f888292b 100644 --- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh @@ -2,7 +2,7 @@ echo "Sourcing pytest-check-hook" declare -ar disabledTests -declare -ar disabledTestPaths +declare -a disabledTestPaths function _concatSep { local result @@ -37,6 +37,11 @@ function pytestCheckPhase() { disabledTestsString=$(_pytestComputeDisabledTestsString "${disabledTests[@]}") args+=" -k \""$disabledTestsString"\"" fi + + if [ -n "${disabledTestPaths-}" ]; then + eval "disabledTestPaths=($disabledTestPaths)" + fi + for path in ${disabledTestPaths[@]}; do if [ ! -e "$path" ]; then echo "Disabled tests path \"$path\" does not exist. Aborting" diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index e9c769821d6f6..4917b167046ec 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -93,6 +93,8 @@ , doCheck ? config.doCheckByDefault or false +, disabledTestPaths ? [] + , ... } @ attrs: @@ -108,6 +110,7 @@ let self = toPythonModule (stdenv.mkDerivation ((builtins.removeAttrs attrs [ "disabled" "checkPhase" "checkInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "format" + "disabledTestPaths" ]) // { name = namePrefix + name_; @@ -178,6 +181,8 @@ let # If given use the specified checkPhase, otherwise use the setup hook. # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. installCheckPhase = attrs.checkPhase; + } // lib.optionalAttrs (disabledTestPaths != []) { + disabledTestPaths = lib.escapeShellArgs disabledTestPaths; })); passthru.updateScript = let diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix index eb17fda083017..d19600f39b854 100644 --- a/pkgs/development/interpreters/wasmer/default.nix +++ b/pkgs/development/interpreters/wasmer/default.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { fetchSubmodules = true; }; - cargoSha256 = "08r2b4s005w8r207jwq2fd43y3prgd8pg1m72aww1r7yrbxdr0v2"; + cargoSha256 = "140bzxhsyfif99x5a1m1d45ppb6jzvy9m4xil7z1wg2pnq9k7zz8"; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix index 9afca8f1f714e..675a7cdd6bc04 100644 --- a/pkgs/development/interpreters/wasmtime/default.nix +++ b/pkgs/development/interpreters/wasmtime/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { fetchSubmodules = true; }; - cargoSha256 = "1r1fm28zaxfbzd17jzaz8ql6ss6y6djgdhpfpkvpbw9l8l06x4lc"; + cargoSha256 = "1wlig9gls7s1k1swxwhl82vfga30bady8286livxc4y2zp0vb18w"; nativeBuildInputs = [ python cmake clang ]; buildInputs = [ llvmPackages.libclang ] ++ diff --git a/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch b/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch new file mode 100644 index 0000000000000..c18420711b901 --- /dev/null +++ b/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch @@ -0,0 +1,15 @@ +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index 1a80b5b..1fa57a7 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -171,8 +171,8 @@ function(absl_cc_library) + FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\ + prefix=${CMAKE_INSTALL_PREFIX}\n\ + exec_prefix=\${prefix}\n\ +-libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}\n\ +-includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}\n\ ++libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\ ++includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\ + \n\ + Name: absl_${_NAME}\n\ + Description: Abseil ${_NAME} library\n\ diff --git a/pkgs/development/libraries/abseil-cpp/default.nix b/pkgs/development/libraries/abseil-cpp/default.nix index 0813a965524b2..a1610ce82624d 100644 --- a/pkgs/development/libraries/abseil-cpp/default.nix +++ b/pkgs/development/libraries/abseil-cpp/default.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, static ? stdenv.hostPlatform.isStatic }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, static ? stdenv.hostPlatform.isStatic }: stdenv.mkDerivation rec { pname = "abseil-cpp"; - version = "20200923.3"; + version = "20210324.1"; src = fetchFromGitHub { owner = "abseil"; repo = "abseil-cpp"; rev = version; - sha256 = "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl"; + sha256 = "16w63brfwgiayiyhvawsnr14xyy5hpp68k8fj0z6yk0bjzw6jvjw"; }; + patches = [ + # Use CMAKE_INSTALL_FULL_{LIBDIR,INCLUDEDIR} + # https://github.com/abseil/abseil-cpp/pull/963 + (fetchpatch { + url = "https://github.com/abseil/abseil-cpp/commit/5bfa70c75e621c5d5ec095c8c4c0c050dcb2957e.patch"; + sha256 = "0nhjxqfxpi2pkfinnqvd5m4npf9l1kg39mjx9l3087ajhadaywl5"; + }) + ]; + cmakeFlags = [ "-DCMAKE_CXX_STANDARD=17" "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix index c7a1073d137a2..03b6c9777dfde 100644 --- a/pkgs/development/libraries/apr/default.nix +++ b/pkgs/development/libraries/apr/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, autoreconfHook }: stdenv.mkDerivation rec { name = "apr-1.7.0"; @@ -36,6 +36,10 @@ stdenv.mkDerivation rec { CPPFLAGS=lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-DAPR_IOVEC_DEFINED"; + nativeBuildInputs = + # Update libtool for macOS 11 support + lib.optional (stdenv.isDarwin && stdenv.isAarch64) [ autoreconfHook ]; + enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix index a5baef8af1ed4..60281e7e0c9f3 100644 --- a/pkgs/development/libraries/caf/default.nix +++ b/pkgs/development/libraries/caf/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "actor-framework"; - version = "0.18.1"; + version = "0.18.3"; src = fetchFromGitHub { owner = "actor-framework"; repo = "actor-framework"; rev = version; - sha256 = "sha256-tRR+YFI/Ikf4rov4dzt59nDqaooALNspKEQehHP6sKU="; + sha256 = "sha256-9oQVsfh2mUVr64PjNXYD1wRBNJ8dCLO9eI5WnZ1SSww="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/cairomm/1.16.nix b/pkgs/development/libraries/cairomm/1.16.nix index 2e936607e8e9c..df9b8572ad0fc 100644 --- a/pkgs/development/libraries/cairomm/1.16.nix +++ b/pkgs/development/libraries/cairomm/1.16.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "cairomm"; - version = "1.16.0"; + version = "1.16.1"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://www.cairographics.org/releases/${pname}-${version}.tar.xz"; - sha256 = "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"; + sha256 = "sha256-b2Bg2OmN1Lis/uIpX92904z0h8B8JqrY0ag7ub/0osY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/catch/default.nix b/pkgs/development/libraries/catch/default.nix index 2aa5c788dc362..c89fbd477c960 100644 --- a/pkgs/development/libraries/catch/default.nix +++ b/pkgs/development/libraries/catch/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: stdenv.mkDerivation rec { pname = "catch"; @@ -14,6 +14,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DUSE_CPP14=ON" ]; + patches = [ + # https://github.com/catchorg/Catch2/pull/2151 + (fetchpatch { + url = "https://github.com/catchorg/Catch2/commit/bb6d08323f23a39eb65dd86671e68f4f5d3f2d6c.patch"; + sha256 = "1vhbzx84nrhhf9zlbl6h5zmg3r5w5v833ihlswsysb9wp2i4isc5"; + }) + ]; + doCheck = true; checkTarget = "test"; diff --git a/pkgs/development/libraries/cereal/default.nix b/pkgs/development/libraries/cereal/default.nix index d2321175f8bdf..958a92dec34e5 100644 --- a/pkgs/development/libraries/cereal/default.nix +++ b/pkgs/development/libraries/cereal/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: stdenv.mkDerivation rec { pname = "cereal"; version = "1.3.0"; @@ -12,7 +12,19 @@ stdenv.mkDerivation rec { sha256 = "0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p"; }; - cmakeFlagsArray = [ "-DJUST_INSTALL_CEREAL=yes" ]; + patches = [ + # https://nvd.nist.gov/vuln/detail/CVE-2020-11105 + # serialized std::shared_ptr variables cannot always be expected to + # serialize back into their original values. This can have any number of + # consequences, depending on the context within which this manifests. + (fetchpatch { + name = "CVE-2020-11105.patch"; + url = "https://github.com/USCiLab/cereal/commit/f27c12d491955c94583512603bf32c4568f20929.patch"; + sha256 = "CIkbJ7bAN0MXBhTXQdoQKXUmY60/wQvsdn99FaWt31w="; + }) + ]; + + cmakeFlags = [ "-DJUST_INSTALL_CEREAL=yes" ]; meta = with lib; { description = "A header-only C++11 serialization library"; diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 5eb180731f315..c0846edbbfe40 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -61,6 +61,11 @@ stdenv.mkDerivation rec { url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/409b37c62780728755c908991c912a6b16f2389c.patch"; sha256 = "zJFh37QErSAINPGFkFVJyhYRP27BuIN7PIgoDl/PIwI="; }) + + # Combination of + # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/88 + # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/131 + ./macos-atomics.h ]; outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config diff --git a/pkgs/development/libraries/fontconfig/macos-atomics.h b/pkgs/development/libraries/fontconfig/macos-atomics.h new file mode 100644 index 0000000000000..07b0cf1d52dc2 --- /dev/null +++ b/pkgs/development/libraries/fontconfig/macos-atomics.h @@ -0,0 +1,39 @@ +--- a/src/fcatomic.h 2020-11-27 13:23:44.000000000 +0900 ++++ b/src/fcatomic.h 2020-11-27 13:24:43.000000000 +0900 +@@ -70,24 +70,25 @@ + #elif !defined(FC_NO_MT) && defined(__APPLE__) + + #include <libkern/OSAtomic.h> +-#ifdef __MAC_OS_X_MIN_REQUIRED + #include <AvailabilityMacros.h> +-#elif defined(__IPHONE_OS_MIN_REQUIRED) +-#include <Availability.h> +-#endif + + typedef int fc_atomic_int_t; + #define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V)) + +-#define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P)) +-#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) +-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) +-#else +-#if __ppc64__ || __x86_64__ +-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) ++#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100) ++ ++#if SIZEOF_VOID_P == 8 ++#define fc_atomic_ptr_get(P) OSAtomicAdd64Barrier (0, (int64_t*)(P)) ++#elif SIZEOF_VOID_P == 4 ++#define fc_atomic_ptr_get(P) OSAtomicAdd32Barrier (0, (int32_t*)(P)) + #else +-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P)) ++#error "SIZEOF_VOID_P not 4 or 8 (assumes CHAR_BIT is 8)" + #endif ++ ++#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) ++ ++#else ++#error "Your macOS / iOS targets are too old" + #endif + + #elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES) diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix index 94487ff6b4d7e..37238a5f59ec9 100644 --- a/pkgs/development/libraries/gcr/default.nix +++ b/pkgs/development/libraries/gcr/default.nix @@ -74,8 +74,6 @@ stdenv.mkDerivation rec { doCheck = false; # fails 21 out of 603 tests, needs dbus daemon - enableParallelBuilding = true; - preFixup = '' wrapProgram "$out/bin/gcr-viewer" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 08f7c9a4c7805..e15f59757862e 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -45,15 +45,16 @@ in stdenv.mkDerivation rec { pname = "glib"; - version = "2.68.1"; + version = "2.68.2"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-JBZUuWvTa4iqoSgU78SEO1eOVdR0QBA3J5Waw0aUQzM="; + sha256 = "sha256-7Md5ipzANOq9/X8kbm3UYc2/EXX8wumGfMfae3MJ4Ps="; }; patches = optionals stdenv.isDarwin [ ./darwin-compilation.patch + ./link-with-coreservices.patch ] ++ optionals stdenv.hostPlatform.isMusl [ ./quark_init_on_demand.patch ./gobject_init_on_demand.patch diff --git a/pkgs/development/libraries/glib/link-with-coreservices.patch b/pkgs/development/libraries/glib/link-with-coreservices.patch new file mode 100644 index 0000000000000..dcc0a8998cc3b --- /dev/null +++ b/pkgs/development/libraries/glib/link-with-coreservices.patch @@ -0,0 +1,11 @@ +--- a/meson.build.orig 2020-11-25 13:47:38.499149252 +0900 ++++ b/meson.build 2020-11-25 13:48:47.098444800 +0900 +@@ -742,7 +742,7 @@ + + if glib_have_carbon + glib_conf.set('HAVE_CARBON', true) +- osx_ldflags += '-Wl,-framework,Carbon' ++ osx_ldflags += ['-Wl,-framework,Carbon', '-Wl,-framework,CoreServices'] + glib_have_os_x_9_or_later = objcc.compiles('''#include <AvailabilityMacros.h> + #if MAC_OS_X_VERSION_MIN_REQUIRED < 1090 + #error Compiling for minimum OS X version before 10.9 diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 0108214a56ee3..3597dd70f2c90 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -32,7 +32,7 @@ , python3Minimal }: -{ name +{ pname , withLinuxHeaders ? false , profilingLibraries ? false , withGd ? false @@ -50,7 +50,7 @@ assert withLinuxHeaders -> linuxHeaders != null; assert withGd -> gd != null && libpng != null; stdenv.mkDerivation ({ - inherit version; + version = version + patchSuffix; linuxHeaders = if withLinuxHeaders then linuxHeaders else null; inherit (stdenv) is64bit; @@ -187,14 +187,13 @@ stdenv.mkDerivation ({ # bootstrap. BASH_SHELL = "/bin/sh"; + # Used by libgcc, elf-header, and others to determine ABI passthru = { inherit version; }; } // (removeAttrs args [ "withLinuxHeaders" "withGd" ]) // { - name = name + "-${version}${patchSuffix}"; - src = fetchurl { url = "mirror://gnu/glibc/glibc-${version}.tar.xz"; inherit sha256; diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 9043c8fd0d4f3..caaacfe4f4368 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -14,7 +14,7 @@ let in callPackage ./common.nix { inherit stdenv; } { - name = "glibc" + lib.optionalString withGd "-gd"; + pname = "glibc" + lib.optionalString withGd "-gd"; inherit withLinuxHeaders profilingLibraries withGd; diff --git a/pkgs/development/libraries/glibc/info.nix b/pkgs/development/libraries/glibc/info.nix index 5cb004cc870db..7c4f3f63bf1c9 100644 --- a/pkgs/development/libraries/glibc/info.nix +++ b/pkgs/development/libraries/glibc/info.nix @@ -1,7 +1,7 @@ { callPackage, texinfo, perl }: callPackage ./common.nix {} { - name = "glibc-info"; + pname = "glibc-info"; outputs = [ "out" ]; diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index 238cebf6209f8..325e0d09936b3 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -11,7 +11,7 @@ }: callPackage ./common.nix { inherit stdenv; } { - name = "glibc-locales"; + pname = "glibc-locales"; builder = ./locales-builder.sh; diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix index 660e3b3b9bd73..db713cf9ea5f8 100644 --- a/pkgs/development/libraries/glibmm/2.68.nix +++ b/pkgs/development/libraries/glibmm/2.68.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "glibmm"; - version = "2.68.0"; + version = "2.68.1"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-wfOFcxkdzu2FoFYAiIz0z0aVlB8zlxW9Z9UcJBb083U="; + sha256 = "sha256-ZmTifJqcyoHCnjVof0ny4NFzovyemMNCgxH3B9tTL4w="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix index 9c4488a04a97a..344fcb43eba0d 100644 --- a/pkgs/development/libraries/glibmm/default.nix +++ b/pkgs/development/libraries/glibmm/default.nix @@ -24,8 +24,6 @@ stdenv.mkDerivation rec { ]); propagatedBuildInputs = [ glib libsigcxx ]; - enableParallelBuilding = true; - doCheck = false; # fails. one test needs the net, another /etc/fstab passthru = { diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index bf03bf08779bb..177c15670526d 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -46,7 +46,7 @@ let self = stdenv.mkDerivation rec { # to build a .dll on windows, we need --disable-static + --enable-shared # see https://gmplib.org/manual/Notes-for-Particular-Systems.html ++ optional (!withStatic && stdenv.hostPlatform.isWindows) "--disable-static --enable-shared" - ; + ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-assembly"; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index 04c8bcbbbecc6..2dc47a93be3cd 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -8,6 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp"; }; + preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' + MACOSX_DEPLOYMENT_TARGET=10.16 + '' else null; + # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html) NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isx86_64 "-mno-fma"; diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index ea112b3d33ce1..1a7cc57fbeaf9 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -61,6 +61,10 @@ stdenv.mkDerivation rec { ++ optionals cupsSupport [ cups ] ++ optionals stdenv.isDarwin [ AppKit Cocoa ]; + preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' + MACOSX_DEPLOYMENT_TARGET=10.16 + '' else null; + configureFlags = [ "--with-gdktarget=${gdktarget}" "--with-xinput=yes" diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index 1e5932c3854e7..0f6811815f605 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -16,8 +16,6 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ]; - enableParallelBuilding = true; - # https://bugzilla.gnome.org/show_bug.cgi?id=764521 doCheck = false; diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh index 05506b19385ce..55c1e02a955d3 100644 --- a/pkgs/development/libraries/kde-frameworks/fetch.sh +++ b/pkgs/development/libraries/kde-frameworks/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/frameworks/5.80/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/frameworks/5.81/ -A '*.tar.xz' ) diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix index 91d53f4df87ca..3d5ad663dd32a 100644 --- a/pkgs/development/libraries/kde-frameworks/srcs.nix +++ b/pkgs/development/libraries/kde-frameworks/srcs.nix @@ -4,667 +4,667 @@ { attica = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/attica-5.80.0.tar.xz"; - sha256 = "0wffjjrk6rka25kgfq05j9fzxawysimpzi8jj3sw3kfz05mqdap3"; - name = "attica-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/attica-5.81.0.tar.xz"; + sha256 = "0x1ga3y0kmr2ybgvsmns7imd0agfd5bfc2lf0010ks5s1v50whqr"; + name = "attica-5.81.0.tar.xz"; }; }; baloo = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/baloo-5.80.0.tar.xz"; - sha256 = "0wdm03x1zm31nivf04qxih6gg18c97diff7ddaqqbz8c7jlhppzc"; - name = "baloo-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/baloo-5.81.0.tar.xz"; + sha256 = "0mnm282mc1yph9x08fkrycb22gsah4km8r7yk3kz20vnrs0wgljy"; + name = "baloo-5.81.0.tar.xz"; }; }; bluez-qt = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/bluez-qt-5.80.0.tar.xz"; - sha256 = "08g56gnh0gkh7n92wqama9lbqk6pfdby9xbh8f2vgmnkzy07zrwn"; - name = "bluez-qt-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/bluez-qt-5.81.0.tar.xz"; + sha256 = "13wy3nzbq26616s7pa0sx0jrq81v3bvf6a6dlmp1zzycvbk06jp3"; + name = "bluez-qt-5.81.0.tar.xz"; }; }; breeze-icons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/breeze-icons-5.80.0.tar.xz"; - sha256 = "11353lgy2fh1d2fgbhg20fapsjzrpsxlf5zilrfkw8y0my690rm2"; - name = "breeze-icons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/breeze-icons-5.81.0.tar.xz"; + sha256 = "1844jyair0kjflfq98cakis7xfgbdn7an383f02hp4072kjg127g"; + name = "breeze-icons-5.81.0.tar.xz"; }; }; extra-cmake-modules = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/extra-cmake-modules-5.80.0.tar.xz"; - sha256 = "0r3gr6qrgljiq7bsks54xc68x9pf7i2gm9pgjq5kslw5ys0gsw13"; - name = "extra-cmake-modules-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/extra-cmake-modules-5.81.0.tar.xz"; + sha256 = "10svwghxf5vhbfwz7lza7xid2n1mj6r1n1amv6c616q68fwf8msz"; + name = "extra-cmake-modules-5.81.0.tar.xz"; }; }; frameworkintegration = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/frameworkintegration-5.80.0.tar.xz"; - sha256 = "0sk9p4wk4hsr5sg0z24rc7fxrsdbxcpm5fw66v30lhncrlf9c7c7"; - name = "frameworkintegration-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/frameworkintegration-5.81.0.tar.xz"; + sha256 = "0vcbm0364zwkyp33nvcl42px6i9hgnp4wl3lg913qvxv1f7pd61v"; + name = "frameworkintegration-5.81.0.tar.xz"; }; }; kactivities = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kactivities-5.80.0.tar.xz"; - sha256 = "14im60ig074axryhgz3qw1zjqhfai1gg0hq88spabvz22r5f340s"; - name = "kactivities-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kactivities-5.81.0.tar.xz"; + sha256 = "0sskfpc8yfic2s8hvzf7cjk92pxd0idd0xl0azrjnn28ci5kvzvq"; + name = "kactivities-5.81.0.tar.xz"; }; }; kactivities-stats = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kactivities-stats-5.80.0.tar.xz"; - sha256 = "1w3khp8p2a1v85s5hay3s0nznjsajaavrjx4iw2cxssxnzlvg2fn"; - name = "kactivities-stats-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kactivities-stats-5.81.0.tar.xz"; + sha256 = "0839g6y101qr5mr98ynfm74f554lxx7srnwm3anh7nj6zrlyxrq2"; + name = "kactivities-stats-5.81.0.tar.xz"; }; }; kapidox = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kapidox-5.80.0.tar.xz"; - sha256 = "010jigqkw3rs04irf942cwgd9wvi7j9b5lisdcrc3w65a19q053z"; - name = "kapidox-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kapidox-5.81.0.tar.xz"; + sha256 = "1wq4py1djmcnqf51l52cij43qw44n5fafz00qslxjb0rdakrvzs2"; + name = "kapidox-5.81.0.tar.xz"; }; }; karchive = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/karchive-5.80.0.tar.xz"; - sha256 = "1xaxbhbx562ybd9rqna1bh3bpbyxh02c9x9xyisw84akiibqvq7w"; - name = "karchive-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/karchive-5.81.0.tar.xz"; + sha256 = "1flnylyglc2jdb9lfk3dl56wzxdliaaqpg2rzrlclzj14lz3l9hy"; + name = "karchive-5.81.0.tar.xz"; }; }; kauth = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kauth-5.80.0.tar.xz"; - sha256 = "1pcnk34b912hhhpx606ajvz9hcz6xr37g7bl002zkar9fzh7vw16"; - name = "kauth-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kauth-5.81.0.tar.xz"; + sha256 = "1gf93wk95x1fmi4w3ybkj7acwrv7rlz9nw7f1n4nd1w3w7pn403y"; + name = "kauth-5.81.0.tar.xz"; }; }; kbookmarks = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kbookmarks-5.80.0.tar.xz"; - sha256 = "11imylvhw3pc46qiqz72q8rwa9igvgvd9gdchiivcrg4494k502q"; - name = "kbookmarks-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kbookmarks-5.81.0.tar.xz"; + sha256 = "0bqgl3vhr5lngajxz7v4l325kcyylj3d1qznaa946dcbsn2wrgzm"; + name = "kbookmarks-5.81.0.tar.xz"; }; }; kcalendarcore = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcalendarcore-5.80.0.tar.xz"; - sha256 = "1z8js2b5zb862ngwsdd2hwi6wqhkvkhsx5akbn7f1gmjs0pfrkg5"; - name = "kcalendarcore-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcalendarcore-5.81.0.tar.xz"; + sha256 = "0a8m8l94cni1fv38sa9wa1mx1m7bnd7qb66wrjrhdd57cfrjij5s"; + name = "kcalendarcore-5.81.0.tar.xz"; }; }; kcmutils = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcmutils-5.80.0.tar.xz"; - sha256 = "0ncyffl60wv5awbfazknqpysaji11xxrpicabfl0mzmwcnlb34wc"; - name = "kcmutils-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcmutils-5.81.0.tar.xz"; + sha256 = "15q2wvnz8s1g508jbssszzfcgssamdsp7s1vply1677ga8pcspmj"; + name = "kcmutils-5.81.0.tar.xz"; }; }; kcodecs = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcodecs-5.80.0.tar.xz"; - sha256 = "06l8c3jwx5z43cyv7vl6yfs91a7zmy0j089x826nn2a7jr678mjg"; - name = "kcodecs-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcodecs-5.81.0.tar.xz"; + sha256 = "0r757k1rbz1bjk7mc0b2m0ybixai4qfidrs5wvbci971lfsaz4j3"; + name = "kcodecs-5.81.0.tar.xz"; }; }; kcompletion = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcompletion-5.80.0.tar.xz"; - sha256 = "14v0d1w01lric532vks9akh7v7z7nf9hgpf866qyhmb236k52hpg"; - name = "kcompletion-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcompletion-5.81.0.tar.xz"; + sha256 = "15bw6g4ag1s0s3x6390r05i299kl279jrfajna9fxgq3fbjigb7p"; + name = "kcompletion-5.81.0.tar.xz"; }; }; kconfig = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kconfig-5.80.0.tar.xz"; - sha256 = "1chrvpfr72bdgv6fdgrkbfbiz76jgvzsncxsc6gjvkvcdag48016"; - name = "kconfig-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kconfig-5.81.0.tar.xz"; + sha256 = "13xfy3mhi73na4mv0a8l75ba5c8ddnkkdssmsnxp5kj084w9xpqx"; + name = "kconfig-5.81.0.tar.xz"; }; }; kconfigwidgets = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kconfigwidgets-5.80.0.tar.xz"; - sha256 = "12rc3l91h2snkxni70brdp8f21g19c0gabpxy7ssv614ci0fz7j7"; - name = "kconfigwidgets-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kconfigwidgets-5.81.0.tar.xz"; + sha256 = "1v7xxn6cd17z71cpdyw2qzfqw4vkzy96wwr1zn9dylnvl8mh4xg0"; + name = "kconfigwidgets-5.81.0.tar.xz"; }; }; kcontacts = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcontacts-5.80.0.tar.xz"; - sha256 = "173vpxncdr9mwpksizflvipsf18pnwn500b2xzpkaaz5w84vk1yk"; - name = "kcontacts-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcontacts-5.81.0.tar.xz"; + sha256 = "15wkspgxqj6zh2pr3f7xqcahihbhf45qnqay1v56ry3vl42gncg4"; + name = "kcontacts-5.81.0.tar.xz"; }; }; kcoreaddons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcoreaddons-5.80.0.tar.xz"; - sha256 = "1l9ydyvbmn2ih07jsy12snxavss7cyxyig0n65sz6gwbcxqr5qzc"; - name = "kcoreaddons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcoreaddons-5.81.0.tar.xz"; + sha256 = "1nzyijd8753p9n9fqfb14q30jid2k1j7cvwjqv99l5fxhwbcn35c"; + name = "kcoreaddons-5.81.0.tar.xz"; }; }; kcrash = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kcrash-5.80.0.tar.xz"; - sha256 = "1c2b8i9qay0mdr0i16jp2167vb18r792dd88nz0in77lzccfk8v4"; - name = "kcrash-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kcrash-5.81.0.tar.xz"; + sha256 = "1irw9blm1xsn26mcyaimd8xnygkdpaqh9m8gpf5gpn2s19iz4f81"; + name = "kcrash-5.81.0.tar.xz"; }; }; kdav = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdav-5.80.0.tar.xz"; - sha256 = "1cab4pppqyfqm53dhp5lm4ghijbhym77ndb0pr6crvi70kz4s101"; - name = "kdav-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdav-5.81.0.tar.xz"; + sha256 = "0cxiif5pb8frz0dpqx0f9j7g29iaspx13alwzvzavbmi0bwzs00b"; + name = "kdav-5.81.0.tar.xz"; }; }; kdbusaddons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdbusaddons-5.80.0.tar.xz"; - sha256 = "1w0vpjzi37z8jaq97p9bxjdl8x4288idm4vvpzxs8lc9hwcl74hl"; - name = "kdbusaddons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdbusaddons-5.81.0.tar.xz"; + sha256 = "0gbrmgpd8x16zapbqbyh2ipbvysz3z07qk1fc0cmx5x84x1j7xa9"; + name = "kdbusaddons-5.81.0.tar.xz"; }; }; kdeclarative = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdeclarative-5.80.0.tar.xz"; - sha256 = "0gcx6pqyc0izw2cdvdcscxxl4wvksb74kjiq5zimjd2z8wrblmdz"; - name = "kdeclarative-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdeclarative-5.81.0.tar.xz"; + sha256 = "0s6kal2ppw0vskv7baxvbqfip4hzh8s3399c1j7rahdw67nf9k3x"; + name = "kdeclarative-5.81.0.tar.xz"; }; }; kded = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kded-5.80.0.tar.xz"; - sha256 = "0skk3zf3b6rlbvdq0fyd8swfrx3fqmppqxrglh6n5imcv5jxwms1"; - name = "kded-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kded-5.81.0.tar.xz"; + sha256 = "1100jrccadj50blq5wmr83wdc3ry46rn86y28dfy4h97cvn1nfsi"; + name = "kded-5.81.0.tar.xz"; }; }; kdelibs4support = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kdelibs4support-5.80.0.tar.xz"; - sha256 = "01bd188iss14qmzm55dmsgdcs9wnwbdj0kh371achp9zqg55iqj3"; - name = "kdelibs4support-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kdelibs4support-5.81.0.tar.xz"; + sha256 = "1ck3i46k8sjkqgnaygy5pjqbw1np35sc6nhgxxcm7q84q3cdj536"; + name = "kdelibs4support-5.81.0.tar.xz"; }; }; kdesignerplugin = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kdesignerplugin-5.80.0.tar.xz"; - sha256 = "1d79qg3y7ndrh6yd9sygyz5yd5ig6gp8k71mw96xijdhlf5nxqs3"; - name = "kdesignerplugin-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kdesignerplugin-5.81.0.tar.xz"; + sha256 = "1rgnj6bns9dnn0g53xk374knc69ajpprjhyb50ffr0dn7cfcs1s3"; + name = "kdesignerplugin-5.81.0.tar.xz"; }; }; kdesu = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdesu-5.80.0.tar.xz"; - sha256 = "1ksad8wcnjcrb8h73klrs2601482a32x3ycpr17k9fsi8mkylicd"; - name = "kdesu-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdesu-5.81.0.tar.xz"; + sha256 = "176531kcvpmb4sklrqpvx4msna1radd2ki410700yvk0l2v4l2yy"; + name = "kdesu-5.81.0.tar.xz"; }; }; kdewebkit = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kdewebkit-5.80.0.tar.xz"; - sha256 = "11q6x9w2majzh6wva4b824dxrpz53xpb3vfsi65pwh199fhfyzci"; - name = "kdewebkit-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kdewebkit-5.81.0.tar.xz"; + sha256 = "022dpmw8r5wkb3pr87fycrybv9j5k2wy8d39rilhjvkqk8s65277"; + name = "kdewebkit-5.81.0.tar.xz"; }; }; kdnssd = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdnssd-5.80.0.tar.xz"; - sha256 = "0k8lk3h65ar07l54cmxhpakz1why9vbm5wg58nh16x69dkdhr8dg"; - name = "kdnssd-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdnssd-5.81.0.tar.xz"; + sha256 = "1hl49w55r57abnnwdf4hvyjk7566zbqa24bai3zsq24a4nnm6vii"; + name = "kdnssd-5.81.0.tar.xz"; }; }; kdoctools = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kdoctools-5.80.0.tar.xz"; - sha256 = "10xcq0pk1sqw293f2kw52sjj6dgphv17fdax4w0yy1hjch711bhy"; - name = "kdoctools-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kdoctools-5.81.0.tar.xz"; + sha256 = "11qayqx47h4h1y2yqzbm8bysdd7xwb2qjmkk59jxpih7xbmpg1ir"; + name = "kdoctools-5.81.0.tar.xz"; }; }; kemoticons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kemoticons-5.80.0.tar.xz"; - sha256 = "0jg5z6dbfprkypj35prlixgc93x65nn7zcw2fmxcqvshrnqzz2hb"; - name = "kemoticons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kemoticons-5.81.0.tar.xz"; + sha256 = "17zv96cfmqg9fxrgm91pn8xwp4f03644g2203c3s7iq3bh8ig3gc"; + name = "kemoticons-5.81.0.tar.xz"; }; }; kfilemetadata = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kfilemetadata-5.80.0.tar.xz"; - sha256 = "02k0yyksyl5nn373l25m6ybxhpdyrz8g0mr16zmk12pdxh24vkbm"; - name = "kfilemetadata-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kfilemetadata-5.81.0.tar.xz"; + sha256 = "0cba7lsjk563ql0hw2rcjxn2khadx1rz7hx4agjb40145f7x931i"; + name = "kfilemetadata-5.81.0.tar.xz"; }; }; kglobalaccel = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kglobalaccel-5.80.0.tar.xz"; - sha256 = "015x173b57vdd16mmd4asz6l6bxw94k1hbkxr09v5cb463cspw1n"; - name = "kglobalaccel-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kglobalaccel-5.81.0.tar.xz"; + sha256 = "0adqlfmpfsbbfjiljvbyi4f4blx77qp18anx7npkwh5gjn32hczz"; + name = "kglobalaccel-5.81.0.tar.xz"; }; }; kguiaddons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kguiaddons-5.80.0.tar.xz"; - sha256 = "1iadzp794q9qhs1kcvfp2g2w6rv2ifqcb3n8sv460fhv4qrg4qz5"; - name = "kguiaddons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kguiaddons-5.81.0.tar.xz"; + sha256 = "1q9yrbbsjh98xl3k4yss5h39fd8nz8y5v9sd7vqjmy49mqsyxxz3"; + name = "kguiaddons-5.81.0.tar.xz"; }; }; kholidays = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kholidays-5.80.0.tar.xz"; - sha256 = "1knmsz1rzhz5a56q9s0i4747633dq9bhs4j8j6rnk49ccl5hz72z"; - name = "kholidays-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kholidays-5.81.0.tar.xz"; + sha256 = "1pcqzwpmyl6jp9w4xvlgj81iyzbazz2kd07g82cjybz0z3jcxs2c"; + name = "kholidays-5.81.0.tar.xz"; }; }; khtml = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/khtml-5.80.0.tar.xz"; - sha256 = "188j1ssw9qlylqgj06iy2r2jbibzshxcxh9qbn1bgz6d2dq2c6mx"; - name = "khtml-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/khtml-5.81.0.tar.xz"; + sha256 = "0ag23xwl2f9hiwxnwxvwiz3xr07dxpin49li3q98vqq1qzaj1ngp"; + name = "khtml-5.81.0.tar.xz"; }; }; ki18n = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/ki18n-5.80.0.tar.xz"; - sha256 = "0yksjrcq5zip17kq1r97z2145qzzz6k48vz71y6195f7wvbpjfl8"; - name = "ki18n-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/ki18n-5.81.0.tar.xz"; + sha256 = "12m7ddyzw80y9y5gqyr7jgdyc5a0fmxa8zzsd41l7418i2sdajrc"; + name = "ki18n-5.81.0.tar.xz"; }; }; kiconthemes = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kiconthemes-5.80.0.tar.xz"; - sha256 = "133nv4zgqg6pkkvh1nyqcra847vgn3ai6w0xvynbgrmq7wvdrwlj"; - name = "kiconthemes-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kiconthemes-5.81.0.tar.xz"; + sha256 = "053a7zdig796zc3rnwdlkscylg6wldn1dk0dxqzn14cb8vkbwizw"; + name = "kiconthemes-5.81.0.tar.xz"; }; }; kidletime = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kidletime-5.80.0.tar.xz"; - sha256 = "1yjjhpkql8s7b4ddzirpyq5p0yicpsbkgbq15257k60xs66qgf83"; - name = "kidletime-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kidletime-5.81.0.tar.xz"; + sha256 = "12zrd9k27hx8ncywd9ahhbcv5xrn7rrw82pcvdkjmyniz0nazrqv"; + name = "kidletime-5.81.0.tar.xz"; }; }; kimageformats = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kimageformats-5.80.0.tar.xz"; - sha256 = "0q3i6jkx6kahgdzfycygki50f22zjbspx3f9ibg2ak74hcan8r8x"; - name = "kimageformats-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kimageformats-5.81.0.tar.xz"; + sha256 = "0kl68dy1v4p403f52y7igv2w3wq6q2pb7n0r7fbnwz2113bs0cm3"; + name = "kimageformats-5.81.0.tar.xz"; }; }; kinit = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kinit-5.80.0.tar.xz"; - sha256 = "101lvky2j6bxk3q36040kczchc21d5rb664ddxd89pl2n0f6s9fz"; - name = "kinit-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kinit-5.81.0.tar.xz"; + sha256 = "1wv8qyv4mayi80vczf47mdxxa6km4v7r2kz2j483w53nck5hjz4j"; + name = "kinit-5.81.0.tar.xz"; }; }; kio = { - version = "5.80.1"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kio-5.80.1.tar.xz"; - sha256 = "0a2srmj8w80f2m8s359747xx0wg2gf8nd75ysv9f9y92l1hwwwfr"; - name = "kio-5.80.1.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kio-5.81.0.tar.xz"; + sha256 = "0zn0xh07hajcj3h1v5246a167ffm113k8j36p2xn7lbq368sway6"; + name = "kio-5.81.0.tar.xz"; }; }; kirigami2 = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kirigami2-5.80.0.tar.xz"; - sha256 = "0wljcyr0g4i5nsc6szy9yd976l180lxfjjzhz24py7czlrpzg3i2"; - name = "kirigami2-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kirigami2-5.81.0.tar.xz"; + sha256 = "1bcc2mfb2s4w67q9q35k04mc9154dx1x03vqzclh9ipzdvyjqmyn"; + name = "kirigami2-5.81.0.tar.xz"; }; }; kitemmodels = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kitemmodels-5.80.0.tar.xz"; - sha256 = "1bvghm4accgf273aacjng86rxiazmk05pbrnqkldda9958dqv54k"; - name = "kitemmodels-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kitemmodels-5.81.0.tar.xz"; + sha256 = "0vs75q08x9yi1953rihk3y234wcsjawdxb3g5xb597f961y634w0"; + name = "kitemmodels-5.81.0.tar.xz"; }; }; kitemviews = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kitemviews-5.80.0.tar.xz"; - sha256 = "1j9m4qcmy83dj3k3v4y4skl5lgb8n3z4x9pa1f0rjpwwg4qsa0lp"; - name = "kitemviews-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kitemviews-5.81.0.tar.xz"; + sha256 = "0nmhc675bmilqah9fwwzy4p8rksib90cv8iihxd5c9d9snykk01n"; + name = "kitemviews-5.81.0.tar.xz"; }; }; kjobwidgets = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kjobwidgets-5.80.0.tar.xz"; - sha256 = "1yy5n9jnj1sdh51n3n1bqzmaml44799kiqdpp3b7mq55fmj9najp"; - name = "kjobwidgets-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kjobwidgets-5.81.0.tar.xz"; + sha256 = "1gl8ia858jbmj2i9wp4x0mw27p42xm6mg84nj1a8yvvvbazs3hpa"; + name = "kjobwidgets-5.81.0.tar.xz"; }; }; kjs = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kjs-5.80.0.tar.xz"; - sha256 = "1v3jiywzzi20c0pd67pgnwwnz0vg209a0wzzdhrpiz5v7qgji1ij"; - name = "kjs-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kjs-5.81.0.tar.xz"; + sha256 = "049aplmp1nlxshwaw0lfhfr09aazxh4vazvb78429gs84j8ir9xr"; + name = "kjs-5.81.0.tar.xz"; }; }; kjsembed = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kjsembed-5.80.0.tar.xz"; - sha256 = "083gp9ks7yha90vnk0z4bkb9i4rphz90di8m8z19xgn575a6li57"; - name = "kjsembed-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kjsembed-5.81.0.tar.xz"; + sha256 = "0zkazfcrmd0gklzda0hbb4mc493ihsd3dafnmyj6cmgk4lz2w3q9"; + name = "kjsembed-5.81.0.tar.xz"; }; }; kmediaplayer = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kmediaplayer-5.80.0.tar.xz"; - sha256 = "0a16rzyjy7j5pn66ahpj3kxpp5c2zmjxg3cmrm14gcm6gzysv56b"; - name = "kmediaplayer-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kmediaplayer-5.81.0.tar.xz"; + sha256 = "0z1ji717kwq84i6b2ay9wjhgc4vdkgn1jvwpzgpc1hqs9zly278b"; + name = "kmediaplayer-5.81.0.tar.xz"; }; }; knewstuff = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/knewstuff-5.80.0.tar.xz"; - sha256 = "0pbk4j823zs2xikgdhaxqilb5b6f0a8k8hylq1vyhkwlzvvp9s6z"; - name = "knewstuff-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/knewstuff-5.81.0.tar.xz"; + sha256 = "0wmf86nndnxs1850bjzbwaag6kjdabz0si7b0p1r6hnwm2km9bnk"; + name = "knewstuff-5.81.0.tar.xz"; }; }; knotifications = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/knotifications-5.80.0.tar.xz"; - sha256 = "1sfn61vhdqg3mxfvb802wx0l0k59b312fbh6w9bqv0b8z0a9jz2s"; - name = "knotifications-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/knotifications-5.81.0.tar.xz"; + sha256 = "04yfrhd098asr45swslnfkzxkb9892izvyam5rf0h93pw78ggmqs"; + name = "knotifications-5.81.0.tar.xz"; }; }; knotifyconfig = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/knotifyconfig-5.80.0.tar.xz"; - sha256 = "0b41ppif2qp7lkqmb7nv1r68hvavdl1lcgs4w50v2c0k4fflwizx"; - name = "knotifyconfig-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/knotifyconfig-5.81.0.tar.xz"; + sha256 = "0xrd9771g1x0s796pw6wkhl9jj9607pffmlxrj171c8n8hdfyjbs"; + name = "knotifyconfig-5.81.0.tar.xz"; }; }; kpackage = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kpackage-5.80.0.tar.xz"; - sha256 = "104qwyai3ivdw0jqgn6m59bajy07snas51rp75xgvb65hpllv2ch"; - name = "kpackage-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kpackage-5.81.0.tar.xz"; + sha256 = "1r1yv5y2swll38l88w559d8q0n4xizwgjp4qd8bh0vvsn24l65ka"; + name = "kpackage-5.81.0.tar.xz"; }; }; kparts = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kparts-5.80.0.tar.xz"; - sha256 = "1fkfjazr7bwh5nniylh403qp0g4bgiv01ckv4djf46gjf7qn9d4y"; - name = "kparts-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kparts-5.81.0.tar.xz"; + sha256 = "1gjqmwg5pjj41vwfsdffvr1gfbkbm12f77rlyfn9gg4z6bjdx47b"; + name = "kparts-5.81.0.tar.xz"; }; }; kpeople = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kpeople-5.80.0.tar.xz"; - sha256 = "1cn9jqiah3j0qi7sg1j9c10yq97pcisvxhm9jjzzzxna39zz16cw"; - name = "kpeople-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kpeople-5.81.0.tar.xz"; + sha256 = "1a63s8c946wrivqs8n680jpmcys8iafyy9j3isl4z5n88df2nnih"; + name = "kpeople-5.81.0.tar.xz"; }; }; kplotting = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kplotting-5.80.0.tar.xz"; - sha256 = "073icgz0cgg7wis3rf1hlsmxklp9vk8swgihfdlks1jds90s4nxw"; - name = "kplotting-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kplotting-5.81.0.tar.xz"; + sha256 = "1s368amqfqjmr99bz4xc0xfm2sf29s99z3zpwbx2lbjvqh3p5yyb"; + name = "kplotting-5.81.0.tar.xz"; }; }; kpty = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kpty-5.80.0.tar.xz"; - sha256 = "13blnrzni3n9p3xnn2kyd6g2hlpvvg0aqagknk64kchbvdkd5l4k"; - name = "kpty-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kpty-5.81.0.tar.xz"; + sha256 = "0la3jpkki1hskxg12nf3r59fw7r9q8n3sc7wcdik9r9c9rhlyjpk"; + name = "kpty-5.81.0.tar.xz"; }; }; kquickcharts = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kquickcharts-5.80.0.tar.xz"; - sha256 = "0kf72i9pkifcwg9njn296fw4d9gy3rc43g17128axj6a5jrd4bln"; - name = "kquickcharts-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kquickcharts-5.81.0.tar.xz"; + sha256 = "00w2m0pwilldip873w97l9hvgm6gfy1aj6blyzcxn7x1688lv1jz"; + name = "kquickcharts-5.81.0.tar.xz"; }; }; kross = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kross-5.80.0.tar.xz"; - sha256 = "06dyqmhxbr9ykca1bskkgxmsd86jpxnk4adygcw1j84xsl6jiki9"; - name = "kross-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kross-5.81.0.tar.xz"; + sha256 = "02jsyarn7ihv547b3vv5xwjm1bs58x5lhdnb74v02cwsgb82wlm3"; + name = "kross-5.81.0.tar.xz"; }; }; krunner = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/krunner-5.80.0.tar.xz"; - sha256 = "0bid6h0wmvmxfz664hmfhs4zp35mlk3n1p553rspfs55wh2f9xpw"; - name = "krunner-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/krunner-5.81.0.tar.xz"; + sha256 = "1yf04qw82hmz8g9hddyalh73b2dxk492n8g856d5m6ccq89c7ga5"; + name = "krunner-5.81.0.tar.xz"; }; }; kservice = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kservice-5.80.0.tar.xz"; - sha256 = "06bk46l3qg7dh57zsg9vwx8vq31ikjmbmy4nqn65mq786yiz4s78"; - name = "kservice-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kservice-5.81.0.tar.xz"; + sha256 = "1kb6wz8d879b57hpfi4ybpc9d3r67b205xdjmp3bhz21894haszc"; + name = "kservice-5.81.0.tar.xz"; }; }; ktexteditor = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/ktexteditor-5.80.0.tar.xz"; - sha256 = "0g073m18bpzhxdwzhqcyclsclwi91cqsjqq3fjz1hy56ird6b0d0"; - name = "ktexteditor-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/ktexteditor-5.81.0.tar.xz"; + sha256 = "1pbxkkqzk4l8n9am5r6w2s1smqwwcc2wagy9in0k80gbyszp9rvm"; + name = "ktexteditor-5.81.0.tar.xz"; }; }; ktextwidgets = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/ktextwidgets-5.80.0.tar.xz"; - sha256 = "1292knr3wblbk5j3qfzr1lqyiaa09pkhvkmh3jnlb0jvhc8xvmg8"; - name = "ktextwidgets-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/ktextwidgets-5.81.0.tar.xz"; + sha256 = "04mn22xmhkxqb138b9wf6jxz39dfp8rigdg3pzr5llx6gmrln9y8"; + name = "ktextwidgets-5.81.0.tar.xz"; }; }; kunitconversion = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kunitconversion-5.80.0.tar.xz"; - sha256 = "1hckj3k3jjsc4y89zvi5l9h6px6ns9kdqjrfkxbax459wha55b4l"; - name = "kunitconversion-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kunitconversion-5.81.0.tar.xz"; + sha256 = "1g9i253f3qjpcmfiy12zmbi41gld9fxy89d742b44xc88fhj3z1y"; + name = "kunitconversion-5.81.0.tar.xz"; }; }; kwallet = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kwallet-5.80.0.tar.xz"; - sha256 = "1pwrxhjxxdx7hl4456dk4x8z36ddw932cv08010fmz9m4w0yvjg1"; - name = "kwallet-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kwallet-5.81.0.tar.xz"; + sha256 = "1i05j20847bb9b7348f85fln6spqnkp3c9ysr7yvnm8wfyzrd1gz"; + name = "kwallet-5.81.0.tar.xz"; }; }; kwayland = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kwayland-5.80.0.tar.xz"; - sha256 = "1avr7ckyhw158wi5mlknzkcphn8vlf8dpb96gyizvsvg8b4gffs0"; - name = "kwayland-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kwayland-5.81.0.tar.xz"; + sha256 = "1a23zcf6aax1fyq4d6y88flyap8wwkbwnq4vkbybpbnxnkbwl8ny"; + name = "kwayland-5.81.0.tar.xz"; }; }; kwidgetsaddons = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kwidgetsaddons-5.80.0.tar.xz"; - sha256 = "1wgwl08cxwzcd0nikvp2ph2dbj5fij6a5l65p9amvi6ladbgv6qs"; - name = "kwidgetsaddons-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kwidgetsaddons-5.81.0.tar.xz"; + sha256 = "0hmnlda1hgk6zwx6wnjzqc0b2awv835736sjyczrxcfaxlkfj99g"; + name = "kwidgetsaddons-5.81.0.tar.xz"; }; }; kwindowsystem = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kwindowsystem-5.80.0.tar.xz"; - sha256 = "1ch44w27ilh994if3icskyqg6nhnbd5j430jxfj6fzfia9vvclmk"; - name = "kwindowsystem-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kwindowsystem-5.81.0.tar.xz"; + sha256 = "11ma5vhq8z570danzq9vdwwcq5n6drsm9m3rpvc1vd3kn2mslls7"; + name = "kwindowsystem-5.81.0.tar.xz"; }; }; kxmlgui = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/kxmlgui-5.80.0.tar.xz"; - sha256 = "17dpcv2igkg1pk238bd396mn83nqp325sscx7qsf8cbj15dp7bw1"; - name = "kxmlgui-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/kxmlgui-5.81.0.tar.xz"; + sha256 = "1l3a9qzc1x1ai2g1g551w05n2jxshxr03rcy0n8m8lbf518288yv"; + name = "kxmlgui-5.81.0.tar.xz"; }; }; kxmlrpcclient = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/portingAids/kxmlrpcclient-5.80.0.tar.xz"; - sha256 = "0aas26kjxsbgrrrazjvsvjqdr9993v2hyxci62mfpi7xsp5js4h4"; - name = "kxmlrpcclient-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/portingAids/kxmlrpcclient-5.81.0.tar.xz"; + sha256 = "15q3w6wdn5ynhyv5244irq51qbm66bl7799zfs964c0y6dmmm3hg"; + name = "kxmlrpcclient-5.81.0.tar.xz"; }; }; modemmanager-qt = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/modemmanager-qt-5.80.0.tar.xz"; - sha256 = "1q14hx2228xhlggw14r9mhmnn2q3qvy3nc9hq5ynb9mwldns6nl6"; - name = "modemmanager-qt-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/modemmanager-qt-5.81.0.tar.xz"; + sha256 = "01rr4j09xqsja7h699yk58xif7qrlbszd0mim4cncy7pkgwn43h6"; + name = "modemmanager-qt-5.81.0.tar.xz"; }; }; networkmanager-qt = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/networkmanager-qt-5.80.0.tar.xz"; - sha256 = "1wdzn2n4m7nz6skjc37p70zaq42ighk5f1wg1hjx3yf3rlpprnp0"; - name = "networkmanager-qt-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/networkmanager-qt-5.81.0.tar.xz"; + sha256 = "1j26ja4r6ry7134yh8i6rkf6dy6kapnrjap9476mr78ig0d6r2if"; + name = "networkmanager-qt-5.81.0.tar.xz"; }; }; oxygen-icons5 = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/oxygen-icons5-5.80.0.tar.xz"; - sha256 = "0kmq993vd6011qny949z13lli4qymprk616kl1628dazniapka9m"; - name = "oxygen-icons5-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/oxygen-icons5-5.81.0.tar.xz"; + sha256 = "1s0gvicrfw6dl164cccj05rfhp627mqa9ml0j4dvgvknnrgip6hz"; + name = "oxygen-icons5-5.81.0.tar.xz"; }; }; plasma-framework = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/plasma-framework-5.80.0.tar.xz"; - sha256 = "1nckb1801fy64hvm127r5fz14vgw81szw7w7miilqh6651v0zbyk"; - name = "plasma-framework-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/plasma-framework-5.81.0.tar.xz"; + sha256 = "0g36a632kafsvhamk33w46cafg1gyir3kkx12fkhyqll2vlpn0v7"; + name = "plasma-framework-5.81.0.tar.xz"; }; }; prison = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/prison-5.80.0.tar.xz"; - sha256 = "1fcsvww08f7ihxq6x84jd2klp29m8hrbzp7rxqi7x9ghxxgysbpz"; - name = "prison-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/prison-5.81.0.tar.xz"; + sha256 = "1mrrwhg98br4r9g7lj6gn3w1z2gfh9kr7ycispssjalyp6bdf4yg"; + name = "prison-5.81.0.tar.xz"; }; }; purpose = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/purpose-5.80.0.tar.xz"; - sha256 = "107xmhbjcw5mk068484gwqrzl2gkgy495737f4vj5q22m9rpal5d"; - name = "purpose-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/purpose-5.81.0.tar.xz"; + sha256 = "0188wxxy6rg6sm722db02nzhmlv3c540zs2qh6h9fbbf1k4h82jf"; + name = "purpose-5.81.0.tar.xz"; }; }; qqc2-desktop-style = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/qqc2-desktop-style-5.80.0.tar.xz"; - sha256 = "14dy7n6m9vdq6v7h3r0w71vw86yxyza40wyxp0hhj44nb63fvczg"; - name = "qqc2-desktop-style-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/qqc2-desktop-style-5.81.0.tar.xz"; + sha256 = "1ac4jc6yi6fwndyivc11brlaz3sncxyxzwrfdak8gg579z67zjx5"; + name = "qqc2-desktop-style-5.81.0.tar.xz"; }; }; solid = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/solid-5.80.0.tar.xz"; - sha256 = "023zk7la6ycd7h2j62z7b409w94sq2r9k0c020ywry6psjydqkx5"; - name = "solid-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/solid-5.81.0.tar.xz"; + sha256 = "0w144jdhspjgqpv0xyxr6l6bnh2bazn9jfbw5iim8fj4q5dyr6c1"; + name = "solid-5.81.0.tar.xz"; }; }; sonnet = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/sonnet-5.80.0.tar.xz"; - sha256 = "13kqdfy6bgmqjfw82d2zh0bq4r53awa1f1cbshci6inwdslyvlmh"; - name = "sonnet-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/sonnet-5.81.0.tar.xz"; + sha256 = "0kin6xngk4bxxn7y06q1pm0vk5s66gh6riv58l051px27m6lwz2a"; + name = "sonnet-5.81.0.tar.xz"; }; }; syndication = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/syndication-5.80.0.tar.xz"; - sha256 = "1j22yx2i2qxck6gy4jypjvmar4y93j5nmrmf7fkjx7z8hwxjgwhh"; - name = "syndication-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/syndication-5.81.0.tar.xz"; + sha256 = "1fxdhnd8kl0q13434vbkmjan9dakhn9bdrad9d4vd3x11c77ggkn"; + name = "syndication-5.81.0.tar.xz"; }; }; syntax-highlighting = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/syntax-highlighting-5.80.0.tar.xz"; - sha256 = "060jnfri24rzkryyvxadpr3yn5xn0856j01ba5l38w0khs8mix4i"; - name = "syntax-highlighting-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/syntax-highlighting-5.81.0.tar.xz"; + sha256 = "0paazw8y8kdvwg2waa45az5qgyxi2w5nkfbjg84v1is7yhb065yb"; + name = "syntax-highlighting-5.81.0.tar.xz"; }; }; threadweaver = { - version = "5.80.0"; + version = "5.81.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.80/threadweaver-5.80.0.tar.xz"; - sha256 = "1j5m8gfjpi9cajhja77lhkrl3shq618wpza1k27azvi7r6jj4dva"; - name = "threadweaver-5.80.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.81/threadweaver-5.81.0.tar.xz"; + sha256 = "03mz4zibvmriaa9qxvqsnp3ahjnhylzjj80w5c6nc4jjywmi89af"; + name = "threadweaver-5.81.0.tar.xz"; }; }; } diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index b33e94114f639..24ded54d8e973 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { sha256 = "1fq30imk8zd26x8066di3kpc5zyfc5z6frr3zll685zcx4dxxrlj"; }; + preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; + # libevent_openssl is moved into its own output, so that openssl isn't present # in the default closure. outputs = [ "out" "dev" ] diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index d7eb085df7f21..909ee73e69a6d 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "libical"; - version = "3.0.9"; + version = "3.0.10"; outputs = [ "out" "dev" ]; # "devdoc" ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { owner = "libical"; repo = "libical"; rev = "v${version}"; - sha256 = "sha256-efdiGktLGITaQ6VinnfYG52fMhO0Av+JKROt2kTvS1U="; + sha256 = "sha256-fLmEJlkZLYLcKZqZwitf8rH261QDPTJZf/+/+FMsGIg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 30a3342663953..b1d234476c4b3 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, libiconv, libunistring, help2man, buildPackages }: +{ fetchurl, lib, stdenv, libiconv, libunistring, help2man, texinfo, buildPackages }: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -9,18 +9,20 @@ with lib; stdenv.mkDerivation rec { pname = "libidn2"; - version = "2.3.0"; + version = "2.3.1"; src = fetchurl { url = "mirror://gnu/gnu/libidn/${pname}-${version}.tar.gz"; - sha256 = "1ddqr80kmz4l8g3r3gf7bmf2v29fgivlc2bgxfiscjg2sarivjz1"; + sha256 = "sha256-ivaElDg2uLU5ZdX1tnFO8TwmyR6qNs59JC49IfXUDy0="; }; outputs = [ "bin" "dev" "out" "info" "devdoc" ]; patches = optional stdenv.isDarwin ./fix-error-darwin.patch; - nativeBuildInputs = optional stdenv.isDarwin help2man; + # The above patch causes the documentation to be regenerated, so the + # documentation tools are required. + nativeBuildInputs = optionals stdenv.isDarwin [ help2man texinfo ]; buildInputs = [ libunistring ] ++ optional stdenv.isDarwin libiconv; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix index b19b6189f2d69..8a38aa36c097b 100644 --- a/pkgs/development/libraries/liblinphone/default.nix +++ b/pkgs/development/libraries/liblinphone/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { pname = "liblinphone"; - version = "4.5.15"; + version = "4.5.17"; src = fetchFromGitLab { domain = "gitlab.linphone.org"; @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { group = "BC"; repo = pname; rev = version; - sha256 = "sha256-lDj2OkWuodPHpvoJ5W2GivzVIeMnprb42kAnJKfKtdg="; + sha256 = "sha256-ryyT4bG3lnE72ydvCAoiT3IeHY4mZwX9nCqaTRC1wyc="; }; # Do not build static libraries diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index fc805b2db9ec4..960591d1a22d6 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, glib, libxml2, meson, ninja, pkg-config, gnome, libsysprof-capture +{ stdenv, lib, fetchurl, fetchpatch, glib, libxml2, meson, ninja, pkg-config, gnome, libsysprof-capture , gnomeSupport ? true, sqlite, glib-networking, gobject-introspection, vala , libpsl, python3, brotli }: @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { sha256 = "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p"; }; + patches = [ + (fetchpatch { + # https://gitlab.gnome.org/GNOME/libsoup/-/issues/222 + url = "https://gitlab.gnome.org/GNOME/libsoup/commit/b5e4f15a09d197b6a9b4b2d78b33779f27d828af.patch"; + sha256 = "1hqk8lqzc200hi0nwbwq9qm6f03z296cnd79d4ql30683s80xqws"; + }) + ]; + postPatch = '' patchShebangs libsoup/ ''; diff --git a/pkgs/development/libraries/libspnav/configure-socket-path.patch b/pkgs/development/libraries/libspnav/configure-socket-path.patch new file mode 100644 index 0000000000000..9a8ef0d498115 --- /dev/null +++ b/pkgs/development/libraries/libspnav/configure-socket-path.patch @@ -0,0 +1,47 @@ +diff --git a/spnav.c b/spnav.c +index f9e10f8..27149f7 100644 +--- a/spnav.c ++++ b/spnav.c +@@ -36,7 +36,7 @@ OF SUCH DAMAGE. + #include <sys/select.h> + #include "spnav.h" + +-#define SPNAV_SOCK_PATH "/var/run/spnav.sock" ++#define DEFAULT_SPNAV_SOCK_PATH "/run/spnav.sock" + + #ifdef USE_X11 + #include <X11/Xlib.h> +@@ -70,6 +70,24 @@ static struct event_node *ev_queue, *ev_queue_tail; + /* AF_UNIX socket used for alternative communication with daemon */ + static int sock = -1; + ++static char *spath = NULL; ++ ++static char *socket_path() ++{ ++ char *xdg_runtime_dir; ++ if((xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"))) { ++ if ( spath == NULL ) { ++ spath = malloc(strlen(xdg_runtime_dir) + strlen("/spnav.sock") + 1); ++ if ( spath != NULL ) { ++ sprintf(spath, "%s/spnav.sock", xdg_runtime_dir); ++ } ++ } ++ if(access(spath, F_OK) != -1){ ++ return spath; ++ } ++ } ++ return DEFAULT_SPNAV_SOCK_PATH; ++} + + int spnav_open(void) + { +@@ -92,7 +110,7 @@ int spnav_open(void) + + memset(&addr, 0, sizeof addr); + addr.sun_family = AF_UNIX; +- strncpy(addr.sun_path, SPNAV_SOCK_PATH, sizeof(addr.sun_path)); ++ strncpy(addr.sun_path, socket_path(), sizeof(addr.sun_path)); + + + if(connect(s, (struct sockaddr*)&addr, sizeof addr) == -1) { diff --git a/pkgs/development/libraries/libspnav/default.nix b/pkgs/development/libraries/libspnav/default.nix index 53aad1019b302..99f2a64d7b12e 100644 --- a/pkgs/development/libraries/libspnav/default.nix +++ b/pkgs/development/libraries/libspnav/default.nix @@ -14,6 +14,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = lib.optional stdenv.isDarwin fixDarwinDylibNames; buildInputs = [ libX11 ]; + patches = [ + # Changes the socket path from /run/spnav.sock to $XDG_RUNTIME_DIR/spnav.sock + # to allow for a user service + ./configure-socket-path.patch + ]; + configureFlags = [ "--disable-debug"]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 30a65e3a0a361..ca3cbc4a18840 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,18 +1,18 @@ -{ stdenv, lib, fetchurl, fetchpatch +{ stdenv, lib, fetchurl , zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform , icuSupport ? false, icu ? null , enableShared ? stdenv.hostPlatform.libc != "msvcrt" -, enableStatic ? !enableShared, +, enableStatic ? !enableShared }: stdenv.mkDerivation rec { pname = "libxml2"; - version = "2.9.10"; + version = "2.9.12"; src = fetchurl { url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz"; - sha256 = "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma"; + sha256 = "14hxwzmf5xqppx77z7i0ni9lpzg1a84dqpf8j8l1fvy570g6imn8"; }; patches = [ # Upstream bugs: @@ -27,28 +27,6 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/63174 # https://github.com/NixOS/nixpkgs/pull/72342 ./utf8-xmlErrorFuncHandler.patch - (fetchpatch { - name = "CVE-2019-20388.patch"; - url = "https://gitlab.gnome.org/GNOME/libxml2/commit/6088a74bcf7d0c42e24cff4594d804e1d3c9fbca.patch"; - sha256 = "070s7al2r2k92320h9cdfc2097jy4kk04d0disc98ddc165r80jl"; - }) - (fetchpatch { - name = "CVE-2020-7595.patch"; - url = "https://gitlab.gnome.org/GNOME/libxml2/commit/0e1a49c8907645d2e155f0d89d4d9895ac5112b5.patch"; - sha256 = "0klvaxkzakkpyq0m44l9xrpn5kwaii194sqsivfm6zhnb9hhl15l"; - }) - (fetchpatch { - name = "CVE-2020-24977.patch"; - url = "https://gitlab.gnome.org/GNOME/libxml2/commit/50f06b3efb638efb0abd95dc62dca05ae67882c2.patch"; - sha256 = "093f1ic5qfiq8nk9mc6b8p1qcs8m9hir3ardr6r5il4zi2dnjrj4"; - }) - # Fix compatibility with Python 3.9. - # https://gitlab.gnome.org/GNOME/libxml2/-/issues/149 - (fetchpatch { - name = "python39.patch"; - url = "https://gitlab.gnome.org/nwellnhof/libxml2/-/commit/e4fb36841800038c289997432ca547c9bfef9db1.patch"; - sha256 = "0h3vpy9fg3339b14qa64640ypp65z3hrrrmpjl8qm72srkp24ci5"; - }) ]; outputs = [ "bin" "dev" "out" "man" "doc" ] @@ -75,6 +53,10 @@ stdenv.mkDerivation rec { (lib.withFeatureAs pythonSupport "python" python) ]; + preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; + enableParallelBuilding = true; # disable test that's problematic with newer pythons: see diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 650e17d3179d2..eb23e16d653ad 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, gettext, python3, libgcrypt +{ lib, stdenv, fetchurl +, pkg-config +, libxml2, findXMLCatalogs, gettext, python3, libgcrypt , cryptoSupport ? false , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform }: @@ -14,6 +16,10 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py"; + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ libxml2.dev ] ++ lib.optional stdenv.isDarwin gettext ++ lib.optionals pythonSupport [ libxml2.py python3 ] @@ -22,7 +28,6 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ findXMLCatalogs ]; configureFlags = [ - "--with-libxml-prefix=${libxml2.dev}" "--without-debug" "--without-mem-debug" "--without-debugger" diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix index d1a68cc66c601..0a3515db26225 100644 --- a/pkgs/development/libraries/lmdb/default.nix +++ b/pkgs/development/libraries/lmdb/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so"; doCheck = true; - checkPhase = "make test"; + checkTarget = "test"; postInstall = '' moveToOutput bin "$bin" diff --git a/pkgs/development/libraries/lyra/default.nix b/pkgs/development/libraries/lyra/default.nix index ed02af56f784f..31b85b01d6a5f 100644 --- a/pkgs/development/libraries/lyra/default.nix +++ b/pkgs/development/libraries/lyra/default.nix @@ -13,8 +13,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja ]; - enableParallelBuilding = true; - postPatch = "sed -i s#/usr#$out#g meson.build"; postInstall = '' diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 743080ee82eab..2b94f9c3bb503 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -145,7 +145,6 @@ self = stdenv.mkDerivation { ] ++ optional stdenv.isLinux libdrm ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; - enableParallelBuilding = true; doCheck = false; postInstall = '' diff --git a/pkgs/development/libraries/openbsm/default.nix b/pkgs/development/libraries/openbsm/default.nix index 269b0138091b4..4719b7fb74704 100644 --- a/pkgs/development/libraries/openbsm/default.nix +++ b/pkgs/development/libraries/openbsm/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { patches = lib.optional stdenv.isDarwin [ ./bsm-add-audit_token_to_pid.patch ]; + preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; + configureFlags = [ "ac_cv_file__usr_include_mach_audit_triggers_defs=no" ]; meta = { diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index fe4704341ef5c..f9e2b3c0b3fc7 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -30,6 +30,10 @@ stdenv.mkDerivation rec { "CC=${stdenv.cc.targetPrefix}cc" ]; + preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; + configureFlags = [ "--enable-overlays" "--disable-dependency-tracking" # speeds up one-time build diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index a336dd18fae4d..2a586f9e9efcd 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -69,6 +69,7 @@ let armv6l-linux = "./Configure linux-armv4 -march=armv6"; armv7l-linux = "./Configure linux-armv4 -march=armv7-a"; x86_64-darwin = "./Configure darwin64-x86_64-cc"; + aarch64-darwin = "./Configure darwin64-arm64-cc"; x86_64-linux = "./Configure linux-x86_64"; x86_64-solaris = "./Configure solaris64-x86_64-gcc"; }.${stdenv.hostPlatform.system} or ( diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 8d9b9ec025992..c91d4e2bd0c29 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -23,7 +23,8 @@ in stdenv.mkDerivation { outputs = [ "bin" "dev" "out" "doc" "man" ]; - configureFlags = optional (!stdenv.hostPlatform.isRiscV) "--enable-jit" ++ [ + # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 + configureFlags = optional (!stdenv.hostPlatform.isRiscV && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--enable-jit" ++ [ "--enable-unicode-properties" "--disable-cpp" ] diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix index 6bf6cff98bbe5..188fa9b16b7ef 100644 --- a/pkgs/development/libraries/pcre2/default.nix +++ b/pkgs/development/libraries/pcre2/default.nix @@ -8,10 +8,11 @@ stdenv.mkDerivation rec { sha256 = "0p3699msps07p40g9426lvxa3b41rg7k2fn7qxl2jm0kh4kkkvx9"; }; + # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 configureFlags = [ "--enable-pcre2-16" "--enable-pcre2-32" - ] ++ lib.optional (!stdenv.hostPlatform.isRiscV) "--enable-jit"; + ] ++ lib.optional (!stdenv.hostPlatform.isRiscV && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--enable-jit"; outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ]; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 5a41fb0c341d0..0146d80221bf7 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,44 +1,77 @@ -{ stdenv, lib, fetchurl, fetchpatch, cmake, ninja, pkg-config, libiconv, libintl -, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg +{ stdenv +, lib +, fetchurl +, fetchpatch +, cmake +, ninja +, pkg-config +, libiconv +, libintl +, zlib +, curl +, cairo +, freetype +, fontconfig +, lcms +, libjpeg +, openjpeg , withData ? true, poppler_data , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobject-introspection ? null , utils ? false, nss ? null -, minimal ? false, suffix ? "glib" +, minimal ? false +, suffix ? "glib" +, inkscape +, cups-filters +, texlive +, scribusUnstable }: let mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; - version = "21.02.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! + version = "21.05.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! + + outputs = [ "out" "dev" ]; src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "sha256-XBR1nJmJHm5HKs7W1fD/Haz4XYDNkCbTZcVcZT7feSw="; + sha256 = "sha256-2v1Te2gPrRIVvED8U9HzjoRJ18GFvGDVqJ4dJskNvYw="; }; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; - buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data; + buildInputs = [ + libiconv + libintl + ] ++ lib.optional withData [ + poppler_data + ]; # TODO: reduce propagation to necessary libs - propagatedBuildInputs = with lib; - [ zlib freetype fontconfig libjpeg openjpeg ] - ++ optionals (!minimal) [ cairo lcms curl ] - ++ optional qt5Support qtbase - ++ optional utils nss - ++ optional introspectionSupport gobject-introspection; - - nativeBuildInputs = [ cmake ninja pkg-config ]; - - # Workaround #54606 - preConfigure = lib.optionalString stdenv.isDarwin '' - sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt - ''; - - dontWrapQtApps = true; + propagatedBuildInputs = [ + zlib + freetype + fontconfig + libjpeg + openjpeg + ] ++ lib.optionals (!minimal) [ + cairo + lcms + curl + ] ++ lib.optionals qt5Support [ + qtbase + ] ++ lib.optionals utils [ + nss + ] ++ lib.optionals introspectionSupport [ + gobject-introspection + ]; cmakeFlags = [ (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS" @@ -49,6 +82,20 @@ stdenv.mkDerivation (rec { (mkFlag qt5Support "QT5") ]; + dontWrapQtApps = true; + + # Workaround #54606 + preConfigure = lib.optionalString stdenv.isDarwin '' + sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt + ''; + + passthru = { + tests = { + # These depend on internal poppler code that frequently changes. + inherit inkscape cups-filters texlive scribusUnstable; + }; + }; + meta = with lib; { homepage = "https://poppler.freedesktop.org/"; description = "A PDF rendering library"; @@ -59,21 +106,8 @@ stdenv.mkDerivation (rec { installed separately. ''; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members; }; -} // lib.optionalAttrs stdenv.isDarwin { - patches = [ - # Fix build due to improperly used volatile in poppler-glib. - # https://gitlab.freedesktop.org/poppler/poppler/merge_requests/836 - (fetchpatch { - url = "https://gitlab.freedesktop.org/poppler/poppler/commit/47de887d7658cfd68df44b3acf710971054f957b.patch"; - sha256 = "uvYibBn2fOEqdotxK0Wpf8KhGYZXrpHdmS4jjlRNCj8="; - }) - (fetchpatch { - url = "https://gitlab.freedesktop.org/poppler/poppler/commit/bdd110b45a38e8a4f80f522892e4c4a9e432abd5.patch"; - sha256 = "WDUYXX6v5zk7tusz7DGBP58yFzgEvoBlNSLbfk7+QTc="; - }) - ]; -}) +} diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch index d5d8e70b788f2..506397bc6056d 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -1,6 +1,6 @@ -From 8bdbddc2e5fef1553b1ba0297d3c03b38e9b947b Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel <ttuegel@mailbox.org> -Date: Wed, 18 Sep 2019 05:39:39 -0500 +From 9ffbcc5e362d17aea3e3d67e43cd3cd993e987eb Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Mon, 12 Apr 2021 20:05:25 +0200 Subject: [PATCH 03/12] qtbase-mkspecs --- @@ -12,13 +12,13 @@ Subject: [PATCH 03/12] qtbase-mkspecs mkspecs/features/qt_build_paths.prf | 4 +- mkspecs/features/qt_docs.prf | 10 +-- mkspecs/features/qt_example_installs.prf | 2 +- - mkspecs/features/qt_functions.prf | 2 +- + mkspecs/features/qt_functions.prf | 27 ++++--- mkspecs/features/qt_installs.prf | 22 ++--- mkspecs/features/qt_plugin.prf | 2 +- - 11 files changed, 39 insertions(+), 142 deletions(-) + 11 files changed, 53 insertions(+), 153 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 00da9bd33f..bd166fbfea 100644 +index 02e5775983..3782949d32 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -21,7 +21,7 @@ load(cmake_functions) @@ -96,7 +96,7 @@ index 00da9bd33f..bd166fbfea 100644 INSTALLS += cmake_qt5_plugin_file return() -@@ -333,7 +308,7 @@ exists($$cmake_macros_file.input) { +@@ -334,7 +309,7 @@ exists($$cmake_macros_file.input) { cmake_qt5_module_files.files += $$cmake_macros_file.output } @@ -370,18 +370,44 @@ index 43b58817fe..e635b8f67a 100644 check_examples { diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 1903e509c8..ae7b585989 100644 +index 1903e509c8..1dc117a388 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { +@@ -69,19 +69,22 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { - cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) +- exists($${cmd}.pl) { +- $${1}_EXE = $${cmd}.pl +- cmd = perl -w $$system_path($${cmd}.pl) +- } else: contains(QMAKE_HOST.os, Windows) { +- $${1}_EXE = $${cmd}.exe +- cmd = $$system_path($${cmd}.exe) +- } else:contains(QMAKE_HOST.os, Darwin) { +- BUNDLENAME = $${cmd}.app/Contents/MacOS/$$2 +- exists($$BUNDLENAME) { +- cmd = $$BUNDLENAME ++ cmd = $$system("command -v $${2}") ++ isEmpty(cmd) { ++ cmd = $$system("command -v $${2}.pl") ++ !isEmpty(cmd) { ++ $${1}_EXE = $$cmd ++ cmd = perl -w $$system_path($${cmd}) ++ } else: contains(QMAKE_HOST.os, Windows) { ++ cmd = $$system("command -v $${2}.exe") ++ $${1}_EXE = $$cmd ++ } else: contains(QMAKE_HOST.os, Darwin) { ++ cmd = $$system("command -v $${2}.app") ++ !isEmpty(cmd) { ++ cmd = $${cmd}/Contents/MacOS/$${2} ++ $${1}_EXE = $$cmd ++ } + } +- $${1}_EXE = $$cmd + } else { + $${1}_EXE = $$cmd + } diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf index 1ebca17366..b784441da0 100644 --- a/mkspecs/features/qt_installs.prf @@ -461,5 +487,5 @@ index 40528a65e2..903f795284 100644 TARGET = $$qt5LibraryTarget($$TARGET) -- -2.23.GIT +2.29.3 diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch index b704d0dc8722a..dbd6b36634434 100644 --- a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -1,6 +1,6 @@ -From 1cb5581d7f20bf87ac8d67a7295447a78a1d9645 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> -Date: Sat, 4 Apr 2020 00:25:52 +0200 +From 87c81a31d65862a2f32fdc575cfb47b7a46bfae7 Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Mon, 12 Apr 2021 20:05:25 +0200 Subject: [PATCH 03/10] qtbase-mkspecs --- @@ -12,10 +12,10 @@ Subject: [PATCH 03/10] qtbase-mkspecs mkspecs/features/qt_build_paths.prf | 4 +- mkspecs/features/qt_docs.prf | 10 +-- mkspecs/features/qt_example_installs.prf | 2 +- - mkspecs/features/qt_functions.prf | 2 +- + mkspecs/features/qt_functions.prf | 27 ++++--- mkspecs/features/qt_installs.prf | 22 ++--- mkspecs/features/qt_plugin.prf | 2 +- - 11 files changed, 38 insertions(+), 141 deletions(-) + 11 files changed, 52 insertions(+), 152 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 0e71fd0015..ba071d9a70 100644 @@ -369,18 +369,44 @@ index 72b47bce27..d59e949e78 100644 check_examples { diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 7777e615bd..abeb03a663 100644 +index 7777e615bd..b0c6880a74 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -87,7 +87,7 @@ defineTest(qtHaveModule) { +@@ -87,19 +87,22 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { - cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) +- exists($${cmd}.pl) { +- $${1}_EXE = $${cmd}.pl +- cmd = perl -w $$system_path($${cmd}.pl) +- } else: contains(QMAKE_HOST.os, Windows) { +- $${1}_EXE = $${cmd}.exe +- cmd = $$system_path($${cmd}.exe) +- } else:contains(QMAKE_HOST.os, Darwin) { +- BUNDLENAME = $${cmd}.app/Contents/MacOS/$$2 +- exists($$BUNDLENAME) { +- cmd = $$BUNDLENAME ++ cmd = $$system("command -v $${2}") ++ isEmpty(cmd) { ++ cmd = $$system("command -v $${2}.pl") ++ !isEmpty(cmd) { ++ $${1}_EXE = $$cmd ++ cmd = perl -w $$system_path($${cmd}) ++ } else: contains(QMAKE_HOST.os, Windows) { ++ cmd = $$system("command -v $${2}.exe") ++ $${1}_EXE = $$cmd ++ } else: contains(QMAKE_HOST.os, Darwin) { ++ cmd = $$system("command -v $${2}.app") ++ !isEmpty(cmd) { ++ cmd = $${cmd}/Contents/MacOS/$${2} ++ $${1}_EXE = $$cmd ++ } + } +- $${1}_EXE = $$cmd + } else { + $${1}_EXE = $$cmd + } diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf index 1ebca17366..a8f958eae8 100644 --- a/mkspecs/features/qt_installs.prf @@ -460,5 +486,5 @@ index 573d717eea..024c624cb6 100644 qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX -- -2.25.1 +2.29.3 diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch index 9f8ef67ab5d97..1c9012c0f2e80 100644 --- a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch +++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -1,6 +1,6 @@ -From 82771c437957b3684ce296997d795432756aa8b1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> -Date: Sat, 4 Apr 2020 00:25:52 +0200 +From 03a5a7eab673d18d00c9b5eb8c7d5b790079e8ff Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Mon, 12 Apr 2021 20:20:46 +0200 Subject: [PATCH 03/11] qtbase-mkspecs --- @@ -12,10 +12,10 @@ Subject: [PATCH 03/11] qtbase-mkspecs mkspecs/features/qt_build_paths.prf | 4 +- mkspecs/features/qt_docs.prf | 10 +-- mkspecs/features/qt_example_installs.prf | 2 +- - mkspecs/features/qt_functions.prf | 2 +- + mkspecs/features/qt_functions.prf | 27 ++++--- mkspecs/features/qt_installs.prf | 22 ++--- mkspecs/features/qt_plugin.prf | 2 +- - 11 files changed, 38 insertions(+), 141 deletions(-) + 11 files changed, 52 insertions(+), 152 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 24ed125f12..f0666a1986 100644 @@ -105,7 +105,7 @@ index 24ed125f12..f0666a1986 100644 # We are generating cmake files. Most developers of Qt are not aware of cmake, # so we require automatic tests to be available. The only module which should diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 309798a767..b6c3ab8609 100644 +index db18dbece6..8246f37931 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -2,30 +2,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) @@ -200,7 +200,7 @@ index 309798a767..b6c3ab8609 100644 !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) !!ENDIF -@@ -499,25 +455,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -491,25 +447,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) !!IF isEmpty(CMAKE_DEBUG_TYPE) !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) @@ -226,7 +226,7 @@ index 309798a767..b6c3ab8609 100644 _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE}) !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD endif() -@@ -536,25 +480,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -528,25 +472,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) !!IF isEmpty(CMAKE_RELEASE_TYPE) !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) @@ -252,7 +252,7 @@ index 309798a767..b6c3ab8609 100644 _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE}) !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD endif() -@@ -581,11 +513,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -573,11 +505,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) IsDebugAndRelease) set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) @@ -265,7 +265,7 @@ index 309798a767..b6c3ab8609 100644 set_target_properties(Qt5::${Plugin} PROPERTIES \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf -index c0b50416c9..cabe39b22e 100644 +index 3d6cd9b3db..ca8b0b2701 100644 --- a/mkspecs/features/qml_module.prf +++ b/mkspecs/features/qml_module.prf @@ -51,7 +51,7 @@ builtin_resources { @@ -369,18 +369,44 @@ index 15b373ba40..5c373fe1d5 100644 check_examples { diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 7777e615bd..abeb03a663 100644 +index 7777e615bd..b0c6880a74 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -87,7 +87,7 @@ defineTest(qtHaveModule) { +@@ -87,19 +87,22 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { - cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) +- exists($${cmd}.pl) { +- $${1}_EXE = $${cmd}.pl +- cmd = perl -w $$system_path($${cmd}.pl) +- } else: contains(QMAKE_HOST.os, Windows) { +- $${1}_EXE = $${cmd}.exe +- cmd = $$system_path($${cmd}.exe) +- } else:contains(QMAKE_HOST.os, Darwin) { +- BUNDLENAME = $${cmd}.app/Contents/MacOS/$$2 +- exists($$BUNDLENAME) { +- cmd = $$BUNDLENAME ++ cmd = $$system("command -v $${2}") ++ isEmpty(cmd) { ++ cmd = $$system("command -v $${2}.pl") ++ !isEmpty(cmd) { ++ $${1}_EXE = $$cmd ++ cmd = perl -w $$system_path($${cmd}) ++ } else: contains(QMAKE_HOST.os, Windows) { ++ cmd = $$system("command -v $${2}.exe") ++ $${1}_EXE = $$cmd ++ } else: contains(QMAKE_HOST.os, Darwin) { ++ cmd = $$system("command -v $${2}.app") ++ !isEmpty(cmd) { ++ cmd = $${cmd}/Contents/MacOS/$${2} ++ $${1}_EXE = $$cmd ++ } + } +- $${1}_EXE = $$cmd + } else { + $${1}_EXE = $$cmd + } diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf index 1ebca17366..a8f958eae8 100644 --- a/mkspecs/features/qt_installs.prf @@ -460,5 +486,5 @@ index 573d717eea..024c624cb6 100644 qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX -- -2.25.4 +2.29.3 diff --git a/pkgs/development/libraries/qt-5/modules/qtcharts.nix b/pkgs/development/libraries/qt-5/modules/qtcharts.nix index 84d3a17ea8cef..f5d034bcc3272 100644 --- a/pkgs/development/libraries/qt-5/modules/qtcharts.nix +++ b/pkgs/development/libraries/qt-5/modules/qtcharts.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtcharts"; + pname = "qtcharts"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix index f6aeb23fb7b43..ae3aa25427c80 100644 --- a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix @@ -1,7 +1,7 @@ { qtModule, lib, stdenv, qtbase, qtdeclarative, bluez }: qtModule { - name = "qtconnectivity"; + pname = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; buildInputs = lib.optional stdenv.isLinux bluez; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix index b611282294c65..97248ca180760 100644 --- a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix @@ -3,7 +3,7 @@ with lib; qtModule { - name = "qtdeclarative"; + pname = "qtdeclarative"; qtInputs = [ qtbase qtsvg ]; nativeBuildInputs = [ python3 ]; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtdoc.nix b/pkgs/development/libraries/qt-5/modules/qtdoc.nix index 10623962c430c..4ef4915000e56 100644 --- a/pkgs/development/libraries/qt-5/modules/qtdoc.nix +++ b/pkgs/development/libraries/qt-5/modules/qtdoc.nix @@ -1,7 +1,7 @@ { qtModule, qtdeclarative }: qtModule { - name = "qtdoc"; + pname = "qtdoc"; qtInputs = [ qtdeclarative ]; outputs = [ "out" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtgamepad.nix b/pkgs/development/libraries/qt-5/modules/qtgamepad.nix index 6bc023eb9bbdc..2e266060a3411 100644 --- a/pkgs/development/libraries/qt-5/modules/qtgamepad.nix +++ b/pkgs/development/libraries/qt-5/modules/qtgamepad.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative, pkg-config }: qtModule { - name = "qtgamepad"; + pname = "qtgamepad"; qtInputs = [ qtbase qtdeclarative ]; buildInputs = [ ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix index d0be6ae776940..c90280090b8e1 100644 --- a/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix +++ b/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix @@ -1,7 +1,7 @@ { qtModule, qtdeclarative }: qtModule { - name = "qtgraphicaleffects"; + pname = "qtgraphicaleffects"; qtInputs = [ qtdeclarative ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtimageformats.nix b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix index 9c80507b7c70c..52fa4d4ba8ff0 100644 --- a/pkgs/development/libraries/qt-5/modules/qtimageformats.nix +++ b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, libtiff }: qtModule { - name = "qtimageformats"; + pname = "qtimageformats"; qtInputs = [ qtbase ]; propagatedBuildInputs = [ libtiff ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtlocation.nix b/pkgs/development/libraries/qt-5/modules/qtlocation.nix index 182b5f5bc334c..687571f18d296 100644 --- a/pkgs/development/libraries/qt-5/modules/qtlocation.nix +++ b/pkgs/development/libraries/qt-5/modules/qtlocation.nix @@ -1,7 +1,7 @@ { lib, stdenv, qtModule, qtbase, qtmultimedia }: qtModule { - name = "qtlocation"; + pname = "qtlocation"; qtInputs = [ qtbase qtmultimedia ]; outputs = [ "bin" "out" "dev" ]; qmakeFlags = lib.optional stdenv.isDarwin [ diff --git a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix index 5e7ccf702045b..30e363cff59a7 100644 --- a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix +++ b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix @@ -1,7 +1,7 @@ { lib, qtModule, qtbase }: qtModule { - name = "qtmacextras"; + pname = "qtmacextras"; qtInputs = [ qtbase ]; meta = with lib; { maintainers = with maintainers; [ periklis ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix index eb2c3bc7431da..0af773947f04f 100644 --- a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix @@ -5,7 +5,7 @@ with lib; qtModule { - name = "qtmultimedia"; + pname = "qtmultimedia"; qtInputs = [ qtbase qtdeclarative ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ gstreamer gst-plugins-base libpulseaudio ] diff --git a/pkgs/development/libraries/qt-5/modules/qtnetworkauth.nix b/pkgs/development/libraries/qt-5/modules/qtnetworkauth.nix index e6ef428cc3c4e..148ed890fc9ed 100644 --- a/pkgs/development/libraries/qt-5/modules/qtnetworkauth.nix +++ b/pkgs/development/libraries/qt-5/modules/qtnetworkauth.nix @@ -1,6 +1,6 @@ { qtModule, qtbase }: qtModule { - name = "qtnetworkauth"; + pname = "qtnetworkauth"; qtInputs = [ qtbase ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix index ba0f20bc0d83d..6c85a91fb78c0 100644 --- a/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix +++ b/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix @@ -1,6 +1,6 @@ { qtModule, qtdeclarative }: qtModule { - name = "qtquickcontrols"; + pname = "qtquickcontrols"; qtInputs = [ qtdeclarative ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix index a9522f4b1f0cd..a50ad9e2a3040 100644 --- a/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix +++ b/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix @@ -1,7 +1,7 @@ { qtModule, qtdeclarative }: qtModule { - name = "qtquickcontrols2"; + pname = "qtquickcontrols2"; qtInputs = [ qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtscript.nix b/pkgs/development/libraries/qt-5/modules/qtscript.nix index 5a1a462a9640e..e7ce86b74a68b 100644 --- a/pkgs/development/libraries/qt-5/modules/qtscript.nix +++ b/pkgs/development/libraries/qt-5/modules/qtscript.nix @@ -1,6 +1,6 @@ { qtModule, qtbase, qttools }: qtModule { - name = "qtscript"; + pname = "qtscript"; qtInputs = [ qtbase qttools ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtscxml.nix b/pkgs/development/libraries/qt-5/modules/qtscxml.nix index 62b428b089336..cf9af0bc75435 100644 --- a/pkgs/development/libraries/qt-5/modules/qtscxml.nix +++ b/pkgs/development/libraries/qt-5/modules/qtscxml.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtscxml"; + pname = "qtscxml"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtsensors.nix b/pkgs/development/libraries/qt-5/modules/qtsensors.nix index 3b8732b68851f..3fbd032b968f4 100644 --- a/pkgs/development/libraries/qt-5/modules/qtsensors.nix +++ b/pkgs/development/libraries/qt-5/modules/qtsensors.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtsensors"; + pname = "qtsensors"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtserialbus.nix b/pkgs/development/libraries/qt-5/modules/qtserialbus.nix index 48968a254c65d..4fd6d7cb83c38 100644 --- a/pkgs/development/libraries/qt-5/modules/qtserialbus.nix +++ b/pkgs/development/libraries/qt-5/modules/qtserialbus.nix @@ -1,6 +1,6 @@ { qtModule, qtbase, qtserialport }: qtModule { - name = "qtserialbus"; + pname = "qtserialbus"; qtInputs = [ qtbase qtserialport ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtserialport.nix b/pkgs/development/libraries/qt-5/modules/qtserialport.nix index 516d38340dc53..caeaedbcf3d5f 100644 --- a/pkgs/development/libraries/qt-5/modules/qtserialport.nix +++ b/pkgs/development/libraries/qt-5/modules/qtserialport.nix @@ -3,7 +3,7 @@ let inherit (lib) getLib optional; in qtModule { - name = "qtserialport"; + pname = "qtserialport"; qtInputs = [ qtbase ]; NIX_CFLAGS_COMPILE = optional stdenv.isLinux diff --git a/pkgs/development/libraries/qt-5/modules/qtspeech.nix b/pkgs/development/libraries/qt-5/modules/qtspeech.nix index ddef01a9482e3..d2748ba8d4c54 100644 --- a/pkgs/development/libraries/qt-5/modules/qtspeech.nix +++ b/pkgs/development/libraries/qt-5/modules/qtspeech.nix @@ -1,7 +1,7 @@ { qtModule }: qtModule { - name = "qtspeech"; + pname = "qtspeech"; qtInputs = [ ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtsvg.nix b/pkgs/development/libraries/qt-5/modules/qtsvg.nix index 3ce68e56e4126..59c7cf67448c0 100644 --- a/pkgs/development/libraries/qt-5/modules/qtsvg.nix +++ b/pkgs/development/libraries/qt-5/modules/qtsvg.nix @@ -1,7 +1,7 @@ { qtModule, qtbase }: qtModule { - name = "qtsvg"; + pname = "qtsvg"; qtInputs = [ qtbase ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index fae90972978f0..437ec6cef7436 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -3,7 +3,7 @@ with lib; qtModule { - name = "qttools"; + pname = "qttools"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/qt-5/modules/qttranslations.nix b/pkgs/development/libraries/qt-5/modules/qttranslations.nix index 11a6e3fedcb10..f49a4eb9a85d0 100644 --- a/pkgs/development/libraries/qt-5/modules/qttranslations.nix +++ b/pkgs/development/libraries/qt-5/modules/qttranslations.nix @@ -1,6 +1,6 @@ { qtModule, qttools }: qtModule { - name = "qttranslations"; + pname = "qttranslations"; qtInputs = [ qttools ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtvirtualkeyboard.nix b/pkgs/development/libraries/qt-5/modules/qtvirtualkeyboard.nix index 2ba720c8eedc7..77f1948dbf43e 100644 --- a/pkgs/development/libraries/qt-5/modules/qtvirtualkeyboard.nix +++ b/pkgs/development/libraries/qt-5/modules/qtvirtualkeyboard.nix @@ -1,6 +1,6 @@ { qtModule, qtbase, qtdeclarative, qtsvg, hunspell }: qtModule { - name = "qtvirtualkeyboard"; + pname = "qtvirtualkeyboard"; qtInputs = [ qtbase qtdeclarative qtsvg hunspell ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwayland.nix b/pkgs/development/libraries/qt-5/modules/qtwayland.nix index 5291ea9c9a787..1bd1adedaf040 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwayland.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwayland.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtquickcontrols, wayland, pkg-config }: qtModule { - name = "qtwayland"; + pname = "qtwayland"; qtInputs = [ qtbase qtquickcontrols ]; buildInputs = [ wayland ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix b/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix index 84fb88385a3ec..f49e9e234901c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtwebchannel"; + pname = "qtwebchannel"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 23ca50ba25ab9..0229d92d9a210 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -25,18 +25,10 @@ with lib; qtModule { - name = "qtwebengine"; + pname = "qtwebengine"; qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ]; nativeBuildInputs = [ bison coreutils flex git gperf ninja pkg-config python2 which gn nodejs - - # qmake looks for syncqt instead of syncqt.pl and fails with a cryptic - # error if it can't find it. syncqt.pl also has a /usr/bin/env shebang, so - # it can't be directly used in a sandboxed build environment. - (writeScriptBin "syncqt" '' - #!${stdenv.shell} - exec ${perl}/bin/perl ${qtbase.dev}/bin/syncqt.pl "$@" - '') ] ++ optional stdenv.isDarwin xcbuild; doCheck = true; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebglplugin.nix b/pkgs/development/libraries/qt-5/modules/qtwebglplugin.nix index 444d0c1beae88..d8fd7a692370c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebglplugin.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebglplugin.nix @@ -1,6 +1,6 @@ { qtModule, qtbase, qtwebsockets }: qtModule { - name = "qtwebglplugin"; + pname = "qtwebglplugin"; qtInputs = [ qtbase qtwebsockets ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix index 288a0e30f6902..e2dd0d4b19c72 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix @@ -22,7 +22,7 @@ let usingAnnulenWebkitFork = lib.versionAtLeast qtbase.version "5.11.0"; in qtModule { - name = "qtwebkit"; + pname = "qtwebkit"; qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ] ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia ++ optional usingAnnulenWebkitFork qtwebchannel; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix b/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix index ad5e7625f2891..540fcade73c9d 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtwebsockets"; + pname = "qtwebsockets"; qtInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebview.nix b/pkgs/development/libraries/qt-5/modules/qtwebview.nix index 4034dce49f56d..1df8ef8663892 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebview.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebview.nix @@ -3,7 +3,7 @@ with lib; qtModule { - name = "qtwebview"; + pname = "qtwebview"; qtInputs = [ qtdeclarative qtwebengine ]; buildInputs = optional (stdenv.isDarwin) [ darwin.apple_sdk.frameworks.CoreFoundation diff --git a/pkgs/development/libraries/qt-5/modules/qtx11extras.nix b/pkgs/development/libraries/qt-5/modules/qtx11extras.nix index 4d431fee278be..ad743523bb003 100644 --- a/pkgs/development/libraries/qt-5/modules/qtx11extras.nix +++ b/pkgs/development/libraries/qt-5/modules/qtx11extras.nix @@ -1,6 +1,6 @@ { qtModule, qtbase }: qtModule { - name = "qtx11extras"; + pname = "qtx11extras"; qtInputs = [ qtbase ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix index 7ac922421f08c..c602b1e39d2db 100644 --- a/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix +++ b/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix @@ -1,7 +1,7 @@ { qtModule, qtbase, qtdeclarative }: qtModule { - name = "qtxmlpatterns"; + pname = "qtxmlpatterns"; qtInputs = [ qtbase qtdeclarative ]; devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ]; } diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix index ebd6e887ec9d9..767cbc91142d0 100644 --- a/pkgs/development/libraries/qt-5/qtModule.nix +++ b/pkgs/development/libraries/qt-5/qtModule.nix @@ -7,7 +7,7 @@ let inherit (lib) licenses maintainers platforms; in args: let - pname = args.name; + inherit (args) pname; version = args.version or srcs.${pname}.version; src = args.src or srcs.${pname}.src; in diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix index 2b6eb5705cd90..741c6f4898b66 100644 --- a/pkgs/development/libraries/science/math/or-tools/default.nix +++ b/pkgs/development/libraries/science/math/or-tools/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , cmake , abseil-cpp , bzip2 @@ -17,25 +16,16 @@ stdenv.mkDerivation rec { pname = "or-tools"; - version = "8.1"; + version = "9.0"; disabled = python.pythonOlder "3.6"; # not supported upstream src = fetchFromGitHub { owner = "google"; repo = "or-tools"; rev = "v${version}"; - sha256 = "1zqgvkaw5vf2d8pwsa34g9jysbpiwplzxc8jyy8kdbzmj8ax3gpg"; + sha256 = "0yihrsg8wj4b82xwg1hbn97my8zqd7xhw7dk7wm2axsyvqd6m3b3"; }; - patches = [ - # This patch (on master as of Feb 11, 2021) fixes or-tools failing to respect - # USE_SCIP=OFF and then failing to find scip/scip.h - (fetchpatch { - url = "https://github.com/google/or-tools/commit/17321869832b5adaccd9864e7e5576122730a5d5.patch"; - sha256 = "0bi2z1hqlpdm1if3xa5dzc2zv0qlm5xi2x979brx10f8k779ghn0"; - }) - ]; - # The original build system uses cmake which does things like pull # in dependencies through git and Makefile creation time. We # obviously don't want to do this so instead we provide the diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix index a0c875079c442..755c65d2fa454 100644 --- a/pkgs/development/libraries/spdk/default.nix +++ b/pkgs/development/libraries/spdk/default.nix @@ -55,8 +55,6 @@ in stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile. - enableParallelBuilding = true; - meta = with lib; { description = "Set of libraries for fast user-mode storage"; homepage = "https://spdk.io/"; diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix index f8142f046b746..56ed7367b2b29 100644 --- a/pkgs/development/libraries/wasilibc/default.nix +++ b/pkgs/development/libraries/wasilibc/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchFromGitHub, lib }: stdenv.mkDerivation { - name = "wasilibc-20190712"; + pname = "wasilibc"; + version = "20190712"; src = fetchFromGitHub { owner = "CraneStation"; repo = "wasi-libc"; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index a06d75e53dc4f..08741c29dd6d1 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, fetchpatch , substituteAll , meson , pkg-config @@ -37,6 +38,11 @@ stdenv.mkDerivation rec { }; patches = [ + # Picked from upstream 'main' branch for Darwin support. + (fetchpatch { + url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/f452e41264387dee4fd737cbf1af58b34b53941b.patch"; + sha256 = "00mk32a01vgn31sm3wk4p8mfwvqv3xv02rxvdj1ygnzgb1ac62r7"; + }) (substituteAll { src = ./0001-add-placeholder-for-nm.patch; nm = "${stdenv.cc.targetPrefix}nm"; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 998550d1fee6e..a9fadf46c4b2e 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -37,8 +37,8 @@ stdenv.mkDerivation (rec { postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace configure \ - --replace '/usr/bin/libtool' 'ar' \ - --replace 'AR="libtool"' 'AR="ar"' \ + --replace '/usr/bin/libtool' '${stdenv.cc.targetPrefix}ar' \ + --replace 'AR="libtool"' 'AR="${stdenv.cc.targetPrefix}ar"' \ --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"' ''; diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix index 82a86404ca58d..e4f623686a9af 100644 --- a/pkgs/development/lisp-modules/lisp-packages.nix +++ b/pkgs/development/lisp-modules/lisp-packages.nix @@ -124,8 +124,7 @@ let lispPackages = rec { }; nyxt = pkgs.lispPackages.buildLispPackage rec { baseName = "nyxt"; - version = "2021-05-06"; - + version = "2.0.0"; description = "Browser"; @@ -194,10 +193,8 @@ let lispPackages = rec { src = pkgs.fetchFromGitHub { owner = "atlas-engineer"; repo = "nyxt"; - rev = "940a5f9a19770771cf29f8fa7505e99c3a242b67"; - sha256 = "sha256:0d5mawka26gwi9nb45x1n33vgskwyn46jrvfz7nzmm2jfaq4ipn6"; - # Version 2 pre-release 7 - # date = "2021-05-06T11:30:27Z"; + rev = "${version}"; + sha256 = "sha256-eSRNfzkAzGTorLjdHo1LQEKLx4ASdv3RGXIFZ5WFIXk="; }; packageName = "nyxt"; diff --git a/pkgs/development/misc/loc/default.nix b/pkgs/development/misc/loc/default.nix index fb518279d00b8..ce262d946a80e 100644 --- a/pkgs/development/misc/loc/default.nix +++ b/pkgs/development/misc/loc/default.nix @@ -13,7 +13,7 @@ buildRustPackage rec { sha256 = "0086asrx48qlmc484pjz5r5znli85q6qgpfbd81gjlzylj7f57gg"; }; - cargoSha256 = "1fgv1kxiif48q9mm60ygn88r5nkxfyiacmvbgwp0jxiacv8r7779"; + cargoSha256 = "1qfqhqimp56g34bir30zgl273yssrbmwf1h8h8yvdpzkybpd92gx"; meta = with lib; { homepage = "https://github.com/cgag/loc"; diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index f9afbe22c917f..2d76d033231d8 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "aiohomekit"; - version = "0.2.61"; + version = "0.2.62"; format = "pyproject"; disabled = pythonAtLeast "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "Jc2k"; repo = pname; rev = version; - sha256 = "047ql5a4i4354jgr8xr2waim8j522z58vbfi7aa62jqc9l8jzxzk"; + sha256 = "sha256-01IzeR0iukPTkz8I7h93wZkgjz6flRAJN8unEX6d+cs="; }; nativeBuildInputs = [ poetry ]; diff --git a/pkgs/development/python-modules/arrow/1.nix b/pkgs/development/python-modules/arrow/1.nix deleted file mode 100644 index f9b830762b30e..0000000000000 --- a/pkgs/development/python-modules/arrow/1.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder -, simplejson, typing-extensions, python-dateutil, pytz, pytest-mock, sphinx -, dateparser, pytestcov, pytestCheckHook -}: - -buildPythonPackage rec { - pname = "arrow"; - version = "1.0.3"; - - disabled = pythonOlder "3.6"; - - src = fetchPypi { - inherit pname version; - sha256 = "0793badh4hgbk2c5g70hmbl7n3d4g5d87bcflld0w9rjwy59r71r"; - }; - - propagatedBuildInputs = [ python-dateutil ] - ++ lib.optionals (!pythonOlder "3.8") [ typing-extensions ]; - - checkInputs = [ - dateparser - pytestCheckHook - pytestcov - pytest-mock - pytz - simplejson - sphinx - ]; - - # ParserError: Could not parse timezone expression "America/Nuuk" - disabledTests = [ - "test_parse_tz_name_zzz" - ]; - - meta = with lib; { - description = "Python library for date manipulation"; - homepage = "https://github.com/crsmithdev/arrow"; - license = licenses.asl20; - maintainers = with maintainers; [ thoughtpolice oxzi ]; - }; -} diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix index 93347d7a4b4b1..159ef917f5213 100644 --- a/pkgs/development/python-modules/arrow/default.nix +++ b/pkgs/development/python-modules/arrow/default.nix @@ -1,29 +1,39 @@ -{ lib, buildPythonPackage, fetchPypi, isPy27 -, nose, chai, simplejson, backports_functools_lru_cache -, python-dateutil, pytz, pytest-mock, sphinx, dateparser, pytestcov +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, python-dateutil +, typing-extensions , pytestCheckHook +, pytest-mock +, pytz +, simplejson }: buildPythonPackage rec { pname = "arrow"; version = "1.0.3"; + disabled = pythonOlder "3.6"; + src = fetchPypi { inherit pname version; sha256 = "399c9c8ae732270e1aa58ead835a79a40d7be8aa109c579898eb41029b5a231d"; }; + postPatch = '' + # no coverage reports + sed -i "/addopts/d" tox.ini + ''; + propagatedBuildInputs = [ python-dateutil ] - ++ lib.optionals isPy27 [ backports_functools_lru_cache ]; + ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ]; checkInputs = [ - dateparser pytestCheckHook - pytestcov pytest-mock pytz simplejson - sphinx ]; # ParserError: Could not parse timezone expression "America/Nuuk" diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix index a63f33d742181..e5394a616e80c 100644 --- a/pkgs/development/python-modules/azure-core/default.nix +++ b/pkgs/development/python-modules/azure-core/default.nix @@ -14,14 +14,14 @@ }: buildPythonPackage rec { - version = "1.13.0"; + version = "1.14.0"; pname = "azure-core"; disabled = isPy27; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "624b46db407dbed9e03134ab65214efab5b5315949a1fbd6cd592c46fb272588"; + sha256 = "f32bb64aabe61f496255c16dd6c555a027da628109460bf27311cee0caf78f96"; }; propagatedBuildInputs = [ @@ -45,8 +45,13 @@ buildPythonPackage rec { pytestFlagsArray = [ "tests/" ]; # disable tests which touch network disabledTests = [ "aiohttp" "multipart_send" "response" "request" "timeout" ]; - # requires testing modules which aren't published, and likely to create cyclic dependencies - disabledTestPaths = [ "tests/test_connection_string_parsing.py" ]; + disabledTestPaths = [ + # requires testing modules which aren't published, and likely to create cyclic dependencies + "tests/test_connection_string_parsing.py" + # wants network + "tests/async_tests/test_streaming_async.py" + "tests/test_streaming.py" + ]; meta = with lib; { description = "Microsoft Azure Core Library for Python"; diff --git a/pkgs/development/python-modules/azure-eventgrid/default.nix b/pkgs/development/python-modules/azure-eventgrid/default.nix index e33f89c5a6419..f83040a4b3cef 100644 --- a/pkgs/development/python-modules/azure-eventgrid/default.nix +++ b/pkgs/development/python-modules/azure-eventgrid/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "azure-eventgrid"; - version = "4.1.1"; + version = "4.2.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "c3bd28ccf6c837b58b58fc61275dace5348a823660c3ca21166a88aa2a8377a4"; + sha256 = "77af2c20abde7d8342da7993781605b440aeac0f95c4af13bb87465c3bd5fe35"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-identity/default.nix b/pkgs/development/python-modules/azure-identity/default.nix index a0120ae350602..10c455ce072dd 100644 --- a/pkgs/development/python-modules/azure-identity/default.nix +++ b/pkgs/development/python-modules/azure-identity/default.nix @@ -17,12 +17,12 @@ buildPythonPackage rec { pname = "azure-identity"; - version = "1.5.0"; + version = "1.6.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "872adfa760b2efdd62595659b283deba92d47b7a67557eb9ff48f0b5d04ee396"; + sha256 = "2e70b00874e4f288e37804bc06bfaf216de8565c759594bf79cccfbf9ca2c78a"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix index d1cb009355de7..91ec3c069c8bf 100644 --- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix @@ -3,6 +3,7 @@ , fetchPypi , msrestazure , azure-common +, azure-mgmt-core , azure-mgmt-nspkg , python , isPy3k @@ -10,17 +11,18 @@ buildPythonPackage rec { pname = "azure-mgmt-billing"; - version = "1.0.0"; #pypi's 0.2.0 doesn't build ootb + version = "6.0.0"; #pypi's 0.2.0 doesn't build ootb src = fetchPypi { inherit pname version; - sha256 = "8b55064546c8e94839d9f8c98e9ea4b021004b3804e192bf39fa65b603536ad0"; + sha256 = "d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f"; extension = "zip"; }; propagatedBuildInputs = [ msrestazure azure-common + azure-mgmt-core azure-mgmt-nspkg ]; diff --git a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix index ead8dbd3f0153..69dff020c8e7c 100644 --- a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix @@ -1,21 +1,27 @@ { lib, buildPythonPackage, fetchPypi, isPy27 , azure-common +, azure-mgmt-core , msrest , msrestazure }: buildPythonPackage rec { - version = "0.3.0"; + version = "1.0.0"; pname = "azure-mgmt-botservice"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "f8318878a66a0685a01bf27b7d1409c44eb90eb72b0a616c1a2455c72330f2f1"; + sha256 = "9dae4d749a2a072e22703318ea36e379aec20876c553b2889037c7bdec4b9546"; extension = "zip"; }; - propagatedBuildInputs = [ azure-common msrest msrestazure ]; + propagatedBuildInputs = [ + azure-common + azure-mgmt-core + msrest + msrestazure + ]; # no tests included doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix index 46890f7ab5b3a..1531a4e0758f5 100644 --- a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-cosmosdb"; - version = "6.2.0"; + version = "6.3.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "116b5bf9433ad89078c743b617c5b1c51f9ce1a1f128fb2e4bbafb5efb2d2c74"; + sha256 = "4135104da5b0f3f0a7249abcd8da55936603e50aaaf2868e5f739a717cf20b3d"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix index f6be961060e6b..c8f15f5960c17 100644 --- a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix @@ -1,21 +1,27 @@ { lib, buildPythonPackage, fetchPypi, isPy27 , azure-common +, azure-mgmt-core , msrest , msrestazure }: buildPythonPackage rec { - version = "0.2.0"; + version = "1.0.0"; pname = "azure-mgmt-deploymentmanager"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "0c6pyr36n9snx879vas5r6l25db6nlp2z96xn759mz4kg4i45qs6"; + sha256 = "9badb768617209149c33e68ca2e59c35b1d3d11427e2969872f2e236e14eee78"; extension = "zip"; }; - propagatedBuildInputs = [ azure-common msrest msrestazure ]; + propagatedBuildInputs = [ + azure-common + azure-mgmt-core + msrest + msrestazure + ]; # no tests included doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-iothub/default.nix b/pkgs/development/python-modules/azure-mgmt-iothub/default.nix index c51d43ec4447f..f4e1534a61d6d 100644 --- a/pkgs/development/python-modules/azure-mgmt-iothub/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-iothub/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-iothub"; - version = "1.0.0"; + version = "2.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "7acf24088395a299974dd26406db2686d8d59a3fffbe47c24617b36d445f2de8"; + sha256 = "653a765f0beb6af0c9ecbd290b4101e1b5e0f6450405faf28ab8234c15d8b38b"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix index f14aa34c3239f..5a93d3d0df189 100644 --- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix @@ -12,12 +12,12 @@ buildPythonPackage rec { pname = "azure-mgmt-loganalytics"; - version = "9.0.0"; + version = "10.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "c0b702753c0774a25bcb49b967573b0ec2bef5262c24bc371c219a750ba3c4fd"; + sha256 = "29330984d0f084dff26cea239d7b733c1a26844da85d33bf3bb53b515ce0bc23"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/pkgs/development/python-modules/azure-mgmt-maps/default.nix index 69ed75dda307c..8a62fafaea133 100644 --- a/pkgs/development/python-modules/azure-mgmt-maps/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-maps/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-maps"; - version = "1.0.0"; + version = "2.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "dafbe23bdbe9c01f88ce91c5b8587eefc73ac2d637ebcdc59ded6d332932e3ab"; + sha256 = "384e17f76a68b700a4f988478945c3a9721711c0400725afdfcb63cf84e85f0e"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix index f70c8420c8295..792501b24e710 100644 --- a/pkgs/development/python-modules/azure-mgmt-network/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix @@ -10,14 +10,14 @@ }: buildPythonPackage rec { - version = "18.0.0"; + version = "19.0.0"; pname = "azure-mgmt-network"; disabled = !isPy3k; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "85fdeb7a1a8d89be9b585396796b218b31b681590d57d82d3ea14cf1f2d20b4a"; + sha256 = "5e39a26ae81fa58c13c02029700f8c7b22c3fd832a294c543e3156a91b9459e8"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix b/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix index 323aa26472ca5..1ba00e8617358 100644 --- a/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix @@ -5,24 +5,26 @@ , msrest , msrestazure , azure-common +, azure-mgmt-core , isPy27 }: buildPythonPackage rec { - version = "0.1.0"; + version = "1.0.0"; pname = "azure-mgmt-redhatopenshift"; disabled = isPy27; # don't feel like fixing namespace issues on python2 src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "1g65lbia1i1jw6qkyjz2ldyl3p90rbr78l8kfryg70sj7z3gnnjn"; + sha256 = "94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980"; }; propagatedBuildInputs = [ msrest msrestazure azure-common + azure-mgmt-core ]; pythonNamespaces = "azure.mgmt"; diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix index 76ef894b96ad1..7e08b16166d7a 100644 --- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix @@ -4,24 +4,26 @@ , msrest , msrestazure , azure-common +, azure-mgmt-core , azure-mgmt-nspkg , isPy3k }: buildPythonPackage rec { pname = "azure-mgmt-reservations"; - version = "0.9.0"; + version = "1.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "1dc97f48f3edb67116da8604ab76ef93233319f56455532be307f323e9ebf0e6"; + sha256 = "880df54fdf3869ee6b142d4fc7a3fce518c850523c42cc895b7fb8359956554e"; }; propagatedBuildInputs = [ msrest msrestazure azure-common + azure-mgmt-core ] ++ lib.optionals (!isPy3k) [ azure-mgmt-nspkg ]; diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix index 447b377715d87..9ea6acbe8da79 100644 --- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { - version = "16.1.0"; + version = "18.0.0"; pname = "azure-mgmt-resource"; disabled = !isPy3k; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "b814ee27b37f030fe69461ef6f514661340dc8b1f28736362541e1c0d31d90ae"; + sha256 = "551036e592f409ef477d30937ea7cc4dda5126576965d9c816fdb8401bbd774c"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/pkgs/development/python-modules/azure-mgmt-sql/default.nix index 60c1022e60378..e41e13f2b581c 100644 --- a/pkgs/development/python-modules/azure-mgmt-sql/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-sql/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-sql"; - version = "1.0.0"; + version = "2.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "c7904f8798fbb285a2160c41c8bd7a416c6bd987f5d36a9b98c16f41e24e9f47"; + sha256 = "191accd6e5b47f93a10cebb94e2ca5086f0b6f4afd0290b8596206cd4acb0d5c"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix index 6789a7512a6e6..86c5005c87691 100644 --- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix @@ -8,14 +8,14 @@ }: buildPythonPackage rec { - version = "17.1.0"; + version = "18.0.0"; pname = "azure-mgmt-storage"; disabled = !isPy3k; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "01acb8e988c8082174fa952e1638d700146185644fbe4b126e65843e63d44600"; + sha256 = "d17beb34273797fa89863632ff0e1eb9b6a55198abb8c7f05d84980762e5f71f"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-servicebus/default.nix b/pkgs/development/python-modules/azure-servicebus/default.nix index 899c952b3577d..d89def355f9ad 100644 --- a/pkgs/development/python-modules/azure-servicebus/default.nix +++ b/pkgs/development/python-modules/azure-servicebus/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-servicebus"; - version = "7.1.1"; + version = "7.2.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "58797defe666dd17ae11a8895395e7e844f11d2076ba4a9ce63682ac02f665d9"; + sha256 = "919e81d6d9e6e098dbb7abf51d90282a73c0071846b104e70488417cd5d07863"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix index f17c3e5f6bc2b..f9c78b6116fc6 100644 --- a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix +++ b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "azure-synapse-artifacts"; - version = "0.6.0"; + version = "0.7.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "ec113d37386b8787862baaf9da0318364a008004a377d20fdfca31cfe8d16210"; + sha256 = "2a538d617dc5d2d167716226d0a24e416324efb35ef22b223e0d9fb6b9889a72"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 1bf3602a7b106..9b35b5654e263 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -15,6 +15,7 @@ , pytest , pytest-subtests , pretend +, libiconv , iso8601 , pytz , hypothesis @@ -48,7 +49,7 @@ buildPythonPackage rec { ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]); buildInputs = [ openssl ] - ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security libiconv ]; propagatedBuildInputs = [ packaging six @@ -66,8 +67,18 @@ buildPythonPackage rec { pytz ]; + pytestFlags = lib.concatStringsSep " " ([ + "--disable-pytest-warnings" + ] ++ + lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + # aarch64-darwin forbids W+X memory, but this tests depends on it: + # * https://cffi.readthedocs.io/en/latest/using.html#callbacks + "--ignore=tests/hazmat/backends/test_openssl_memleak.py" + ] + ); + checkPhase = '' - py.test --disable-pytest-warnings tests + py.test ${pytestFlags} tests ''; # IOKit's dependencies are inconsistent between OSX versions, so this is the best we diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix index a6e2e28c6f590..8c9eb476fe084 100644 --- a/pkgs/development/python-modules/dbus/default.nix +++ b/pkgs/development/python-modules/dbus/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchPypi, buildPythonPackage, python, pkg-config, dbus, dbus-glib, isPyPy +{ lib, stdenv, fetchPypi, buildPythonPackage, python, pkg-config, dbus, dbus-glib, isPyPy , ncurses, pygobject3, isPy3k }: buildPythonPackage rec { @@ -19,6 +19,10 @@ buildPythonPackage rec { disabled = isPyPy; + preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' + MACOSX_DEPLOYMENT_TARGET=10.16 + '' else null; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ dbus dbus-glib ] # My guess why it's sometimes trying to -lncurses. diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix index 37717f76f3353..059f2110fd531 100644 --- a/pkgs/development/python-modules/debugpy/default.nix +++ b/pkgs/development/python-modules/debugpy/default.nix @@ -94,7 +94,7 @@ buildPythonPackage rec { description = "An implementation of the Debug Adapter Protocol for Python"; homepage = "https://github.com/microsoft/debugpy"; license = licenses.mit; - maintainers = with maintainers; [ metadark ]; + maintainers = with maintainers; [ kira-bruneau ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" ]; }; } diff --git a/pkgs/development/python-modules/delorean/default.nix b/pkgs/development/python-modules/delorean/default.nix new file mode 100644 index 0000000000000..3435b461d09b6 --- /dev/null +++ b/pkgs/development/python-modules/delorean/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, Babel +, humanize +, python-dateutil +, tzlocal +}: + +buildPythonPackage rec { + pname = "Delorean"; + version = "1.0.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0d31ay7yq2w7xz7m3ssk5phjbm64b2k8hmgcif22719k29p7hrzy"; + }; + + propagatedBuildInputs = [ Babel humanize python-dateutil tzlocal ]; + + pythonImportsCheck = [ "delorean" ]; + + # test data not included + doCheck = false; + + meta = with lib; { + description = "Delorean: Time Travel Made Easy"; + homepage = "https://github.com/myusuf3/delorean"; + license = licenses.mit; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/flufl/lock.nix b/pkgs/development/python-modules/flufl/lock.nix index b44a7f3cdfee8..ce2ead246f954 100644 --- a/pkgs/development/python-modules/flufl/lock.nix +++ b/pkgs/development/python-modules/flufl/lock.nix @@ -14,6 +14,11 @@ buildPythonPackage rec { propagatedBuildInputs = [ atpublic psutil ]; checkInputs = [ pytestCheckHook pytestcov sybil ]; + # disable code coverage checks for all OS. Upstream does not enforce these + # checks on Darwin, and code coverage cannot be improved downstream nor is it + # relevant to the user. + pytestFlagsArray = [ "--no-cov" ]; + meta = with lib; { homepage = "https://flufllock.readthedocs.io/"; description = "NFS-safe file locking with timeouts for POSIX and Windows"; diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix index b6b6f42b3c35e..b29822a507cde 100644 --- a/pkgs/development/python-modules/gensim/default.nix +++ b/pkgs/development/python-modules/gensim/default.nix @@ -4,7 +4,7 @@ , numpy , six , scipy -, smart_open +, smart-open , scikit-learn, testfixtures, unittest2 , isPy3k }: @@ -19,7 +19,7 @@ buildPythonPackage rec { sha256 = "0rx37vnjspjl45v7bj123xwsjfgbwv91v8zpqpli8lgpf42xnskq"; }; - propagatedBuildInputs = [ smart_open numpy six scipy ]; + propagatedBuildInputs = [ smart-open numpy six scipy ]; checkInputs = [ scikit-learn testfixtures unittest2 ]; diff --git a/pkgs/development/python-modules/get-video-properties/default.nix b/pkgs/development/python-modules/get-video-properties/default.nix new file mode 100644 index 0000000000000..89e01fedc13d9 --- /dev/null +++ b/pkgs/development/python-modules/get-video-properties/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, ffmpeg +}: + +buildPythonPackage rec { + pname = "get-video-properties"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "mvasilkov"; + repo = "python-get-video-properties"; + rev = "944c68addbc27e320ebc6313d3f016fb69b5e880"; + sha256 = "18aslx7amaiw31bl9gambmvzry7hp5nqab6kgp8sg3mz9ih4lzal"; + }; + + # no tests + doCheck = false; + + postPatch = '' + substituteInPlace videoprops/__init__.py \ + --replace "which('ffprobe')" "'${ffmpeg}/bin/ffprobe'" + ''; + + pythonImportsCheck = [ "videoprops" ]; + + meta = with lib; { + description = "Get video properties"; + homepage = "https://github.com/mvasilkov/python-get-video-properties"; + license = licenses.mit; + maintainers = with maintainers; [ globin ]; + }; + +} diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix new file mode 100644 index 0000000000000..828f51ae28f45 --- /dev/null +++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchPypi +, codecov +, pyjwt +, pylint +, pytestCheckHook +, pytestcov +, python-dateutil +, requests +, responses +, tox +}: + +buildPythonPackage rec { + pname = "ibm-cloud-sdk-core"; + version = "3.9.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1gwx0z6yqlym9af6wnzq5alcrx8pfsywxn18a0yxhm1j00rkyh2i"; + }; + + checkInputs = [ + codecov + pylint + pytestCheckHook + pytestcov + responses + tox + ]; + + propagatedBuildInputs = [ + pyjwt + python-dateutil + requests + ]; + + # Various tests try to access credential files which are not included with the source distribution + disabledTests = [ + "test_iam" "test_cwd" "test_configure_service" "test_get_authenticator" + "test_read_external_sources_2" "test_files_duplicate_parts" "test_files_list" + "test_files_dict" "test_retry_config_external" "test_gzip_compression_external" + ]; + + meta = with lib; { + description = "Client library for the IBM Cloud services"; + homepage = "https://github.com/IBM/python-sdk-core"; + license = licenses.asl20; + maintainers = with maintainers; [ globin lheckemann ]; + }; +} diff --git a/pkgs/development/python-modules/ibm-watson/default.nix b/pkgs/development/python-modules/ibm-watson/default.nix new file mode 100644 index 0000000000000..fe8756fde03bb --- /dev/null +++ b/pkgs/development/python-modules/ibm-watson/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, responses +, pytestCheckHook +, python-dotenv +, pytest-rerunfailures +, tox +, requests +, python-dateutil +, websocket_client +, ibm-cloud-sdk-core +}: + +buildPythonPackage rec { + pname = "ibm-watson"; + version = "5.1.0"; + + src = fetchFromGitHub { + owner = "watson-developer-cloud"; + repo = "python-sdk"; + rev = "v${version}"; + sha256 = "sha256:16llw7kybwndgf2ryrg5698v4j3rhrdx52lf3kdzhxdi0q3kmwdn"; + }; + + checkInputs = [ + responses + pytestCheckHook + python-dotenv + pytest-rerunfailures + tox + ]; + + propagatedBuildInputs = [ + requests + python-dateutil + websocket_client + ibm-cloud-sdk-core + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace websocket-client==0.48.0 websocket-client>=0.48.0 \ + --replace ibm_cloud_sdk_core==3.3.6 ibm_cloud_sdk_core>=3.3.6 + ''; + + meta = with lib; { + description = "Client library to use the IBM Watson Services"; + homepage = "https://github.com/watson-developer-cloud/python-sdk"; + license = licenses.asl20; + maintainers = with maintainers; [ globin lheckemann ]; + }; +} diff --git a/pkgs/development/python-modules/johnnycanencrypt/default.nix b/pkgs/development/python-modules/johnnycanencrypt/default.nix index d2d4719dab4b6..a8ce23d371f8b 100644 --- a/pkgs/development/python-modules/johnnycanencrypt/default.nix +++ b/pkgs/development/python-modules/johnnycanencrypt/default.nix @@ -37,8 +37,6 @@ buildPythonPackage rec { patches = [ ./Cargo.lock.patch ]; - cargoSha256 = "0ifvpdizcdp2c5x2x2j1bhhy5a75q0pk7a63dmh52mlpmh45fy6r"; - LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/jupyter_server/default.nix b/pkgs/development/python-modules/jupyter_server/default.nix index 50f193c2058c8..e444b2ea3c0db 100644 --- a/pkgs/development/python-modules/jupyter_server/default.nix +++ b/pkgs/development/python-modules/jupyter_server/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchPypi , pythonOlder @@ -71,6 +72,9 @@ buildPythonPackage rec { "test_list_formats" "test_base_url" "test_culling" + ] ++ lib.optionals stdenv.isDarwin [ + # attempts to use trashcan, build env doesn't allow this + "test_delete" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/matrix-api-async/default.nix b/pkgs/development/python-modules/matrix-api-async/default.nix new file mode 100644 index 0000000000000..d7ae05bddc968 --- /dev/null +++ b/pkgs/development/python-modules/matrix-api-async/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonPackage, fetchPypi, matrix-client }: + +buildPythonPackage rec { + pname = "matrix_api_async"; + version = "0.1.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0xdx8fci0lar3x09dwqgka6ssz9d3g7gsfx4yyr13sdwza7zsqc3"; + }; + + propagatedBuildInputs = [ matrix-client ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ "matrix_api_async" ]; + + meta = with lib; { + description = "An asyncio wrapper of matrix_client.api"; + license = licenses.mit; + homepage = "https://github.com/Cadair/matrix_api_async"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/mattermostdriver/default.nix b/pkgs/development/python-modules/mattermostdriver/default.nix new file mode 100644 index 0000000000000..7d9421b5d9490 --- /dev/null +++ b/pkgs/development/python-modules/mattermostdriver/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, websockets +, requests +}: + +buildPythonPackage rec { + pname = "mattermostdriver"; + version = "7.3.0"; + + disabled = pythonOlder "3.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "17jqcpa1xd9n7bf4d5l7wmscls34kymv27gi17pyyfjxbwk5gsga"; + }; + + propagatedBuildInputs = [ websockets requests ]; + + pythonImportsCheck = [ "mattermostdriver" ]; + + # no tests + doCheck = false; + + meta = with lib; { + description = "A Python Mattermost Driver"; + homepage = "https://github.com/Vaelor/python-mattermost-driver"; + license = licenses.mit; + maintainers = with maintainers; [ globin lheckemann ]; + }; +} diff --git a/pkgs/development/python-modules/mockupdb/default.nix b/pkgs/development/python-modules/mockupdb/default.nix new file mode 100644 index 0000000000000..341660e1af0bc --- /dev/null +++ b/pkgs/development/python-modules/mockupdb/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi +, pymongo +}: + +buildPythonPackage rec { + pname = "mockupdb"; + version = "1.8.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "130z5g96r52h362qc5jbf1g3gw3irb2wr946xlhgcv9ww9z64cl8"; + }; + + propagatedBuildInputs = [ pymongo ]; + + pythonImportsCheck = [ "mockupdb" ]; + + meta = with lib; { + description = "Simulate a MongoDB server"; + license = licenses.asl20; + homepage = "https://github.com/ajdavis/mongo-mockup-db"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/motor/default.nix b/pkgs/development/python-modules/motor/default.nix new file mode 100644 index 0000000000000..318d519e57ceb --- /dev/null +++ b/pkgs/development/python-modules/motor/default.nix @@ -0,0 +1,30 @@ +{ lib, buildPythonPackage, fetchFromGitHub +, pymongo, mockupdb +}: + +buildPythonPackage rec { + pname = "motor"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "mongodb"; + repo = pname; + rev = version; + sha256 = "1sgaqg98h35lazzdi015q1i60ig7krid8b10a5rm6lf755y8yj2c"; + }; + + propagatedBuildInputs = [ pymongo ]; + + # network connections + doCheck = false; + checkInputs = [ mockupdb ]; + + pythonImportsCheck = [ "motor" ]; + + meta = with lib; { + description = "Non-blocking MongoDB driver for Tornado or asyncio"; + license = licenses.asl20; + homepage = "https://github.com/mongodb/motor"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/opsdroid_get_image_size/default.nix b/pkgs/development/python-modules/opsdroid_get_image_size/default.nix new file mode 100644 index 0000000000000..0f33da44145f3 --- /dev/null +++ b/pkgs/development/python-modules/opsdroid_get_image_size/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi +}: + +buildPythonPackage rec { + pname = "opsdroid_get_image_size"; + version = "0.2.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "124j2xvfxv09q42qfb8nqlcn55y7f09iayrix3yfyrs2qyzav78a"; + }; + + # test data not included on pypi + doCheck = false; + + pythonImportsCheck = [ "get_image_size" ]; + + meta = with lib; { + description = "Get image width and height given a file path using minimal dependencies"; + license = licenses.mit; + homepage = "https://github.com/opsdroid/image_size"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix index 714e6945df5f2..d656a752cf550 100644 --- a/pkgs/development/python-modules/pathy/default.nix +++ b/pkgs/development/python-modules/pathy/default.nix @@ -4,7 +4,7 @@ , pytestCheckHook , typer , dataclasses -, smart_open +, smart-open , pytest , mock , google-cloud-storage @@ -19,7 +19,7 @@ buildPythonPackage rec { sha256 = "sha256-nb8my/5rkc7thuHnXZHe1Hg8j+sLBlYyJcLHWrrKZ5M="; }; - propagatedBuildInputs = [ smart_open typer google-cloud-storage ]; + propagatedBuildInputs = [ smart-open typer google-cloud-storage ]; postPatch = '' substituteInPlace requirements.txt \ diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix index a53005c7426ab..ba17c5eca737f 100644 --- a/pkgs/development/python-modules/psutil/default.nix +++ b/pkgs/development/python-modules/psutil/default.nix @@ -15,16 +15,25 @@ buildPythonPackage rec { sha256 = "1immnj532bnnrh1qmk5q3lsw3san8qfk9kxy1cpmy0knmfcwp70c"; }; - # arch doesn't report frequency is the same way - # tests segfaults on darwin https://github.com/giampaolo/psutil/issues/1715 - doCheck = !stdenv.isDarwin && stdenv.isx86_64; + # We have many test failures on various parts of the package: + # - segfaults on darwin: + # https://github.com/giampaolo/psutil/issues/1715 + # - swap (on linux) might cause test failures if it is fully used: + # https://github.com/giampaolo/psutil/issues/1911 + # - some mount paths are required in the build sanbox to make the tests succeed: + # https://github.com/giampaolo/psutil/issues/1912 + doCheck = false; checkInputs = [ pytestCheckHook ] - ++ lib.optionals isPy27 [ mock ipaddress unittest2 ]; + ++ lib.optionals isPy27 [ mock ipaddress unittest2 ]; + # In addition to the issues listed above there are some that occure due to + # our sandboxing which we can work around by disabling some tests: + # - cpu_times was flaky on darwin + # - the other disabled tests are likely due to sanboxing (missing specific errors) pytestFlagsArray = [ "$out/${python.sitePackages}/psutil/tests/test_system.py" ]; - # disable tests which don't work in sandbox - # cpu_times is flakey on darwin + + # Note: $out must be referenced as test import paths are relative disabledTests = [ "user" "disk_io_counters" diff --git a/pkgs/development/python-modules/puremagic/default.nix b/pkgs/development/python-modules/puremagic/default.nix new file mode 100644 index 0000000000000..c635cdac186af --- /dev/null +++ b/pkgs/development/python-modules/puremagic/default.nix @@ -0,0 +1,29 @@ +{ lib, buildPythonPackage, fetchPypi +}: + +buildPythonPackage rec { + pname = "puremagic"; + version = "1.10"; + + src = fetchPypi { + inherit pname version; + sha256 = "025ih5q1qa40x88j7ngsdr5sf0dp400kwlfzz60i7v6fh0ms1zkg"; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace '"argparse"' "" + ''; + + # test data not included on pypi + doCheck = false; + + pythonImportsCheck = [ "puremagic" ]; + + meta = with lib; { + description = "Pure python implementation of magic file detection"; + license = licenses.mit; + homepage = "https://github.com/cdgriffith/puremagic"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix index 0ae0b26e12db1..3bd88368e7536 100644 --- a/pkgs/development/python-modules/pybind11/default.nix +++ b/pkgs/development/python-modules/pybind11/default.nix @@ -23,6 +23,14 @@ buildPythonPackage rec { sha256 = "1lsacpawl2gb5qlh0cawj9swsyfbwhzhwiv6553a7lsigdbadqpy"; }; + patches = [ + # fix pybind11Config.cmake + (fetchpatch { + url = "https://github.com/pybind/pybind11/commit/d9c4e1047a95f023633a7260af5a633307438941.patch"; + sha256 = "0kran295kj31xfs6mfha5ip132zd0pnj2dl36qzgyc1rpnha5gz4"; + }) + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ catch ]; diff --git a/pkgs/development/python-modules/pycron/default.nix b/pkgs/development/python-modules/pycron/default.nix new file mode 100644 index 0000000000000..7155ee95723ea --- /dev/null +++ b/pkgs/development/python-modules/pycron/default.nix @@ -0,0 +1,30 @@ +{ lib, buildPythonPackage, fetchFromGitHub, udatetime, pytz, pendulum, nose +, delorean, coveralls, arrow +}: + +buildPythonPackage rec { + pname = "pycron"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "kipe"; + repo = pname; + rev = version; + sha256 = "12hkqrdfg3jbqkmck8i00ssyaw1c4hhvdhjxkmh2gm9pd99z5bpv"; + }; + + checkInputs = [ arrow coveralls delorean nose pendulum pytz udatetime ]; + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ "pycron" ]; + + meta = with lib; { + description = "Simple cron-like parser for Python, which determines if current datetime matches conditions"; + license = licenses.mit; + homepage = "https://github.com/kipe/pycron"; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix index edd5d9bc3100e..1d08de404f0b4 100644 --- a/pkgs/development/python-modules/pygls/default.nix +++ b/pkgs/development/python-modules/pygls/default.nix @@ -25,6 +25,6 @@ buildPythonPackage rec { description = "Pythonic generic implementation of the Language Server Protocol"; homepage = "https://github.com/openlawlibrary/pygls"; license = licenses.asl20; - maintainers = with maintainers; [ metadark ]; + maintainers = with maintainers; [ kira-bruneau ]; }; } diff --git a/pkgs/development/python-modules/pymumble/default.nix b/pkgs/development/python-modules/pymumble/default.nix index 45c193899fe02..d708f5f229b56 100644 --- a/pkgs/development/python-modules/pymumble/default.nix +++ b/pkgs/development/python-modules/pymumble/default.nix @@ -11,23 +11,15 @@ buildPythonPackage rec { pname = "pymumble"; - version = "1.6"; + version = "1.6.1"; disabled = isPy27; src = fetchFromGitHub { owner = "azlux"; repo = "pymumble"; rev = version; - sha256 = "04nc66d554a98mbmdgzgsg6ncaz0jsn4zdr3mr14w6wnhrxpjkrs"; + sha256 = "1qbsd2zvwd9ksclgiyrl1z79ms0zximm4527mnmhvq36lykgki7s"; }; - patches = [ - # Compatibility with pycryptodome (which is what our pycrypto really is) - # See https://github.com/azlux/pymumble/pull/99 - (fetchpatch { - url = "https://github.com/azlux/pymumble/pull/99/commits/b85548a0e1deaac820954b1c0b308af214311a14.patch"; - sha256 = "0w9dpc87rny6vmhi634pih1p97b67jm26qajscpa9wp6nphdlxlj"; - }) - ]; postPatch = '' # Changes all `library==x.y.z` statements to just `library` @@ -35,11 +27,20 @@ buildPythonPackage rec { sed -i 's/\(.*\)==.*/\1/' requirements.txt ''; - propagatedBuildInputs = [ opuslib protobuf ]; + propagatedBuildInputs = [ + opuslib + protobuf + ]; - checkInputs = [ pytestCheckHook pycrypto ]; + checkInputs = [ + pycrypto + pytestCheckHook + ]; - pythonImportsCheck = [ "pymumble_py3" ]; + pythonImportsCheck = [ + "pymumble_py3" + "pymumble_py3.constants" + ]; meta = with lib; { description = "Python 3 version of pymumble, Mumble library used for multiple uses like making mumble bot."; diff --git a/pkgs/development/python-modules/pytest-datadir/default.nix b/pkgs/development/python-modules/pytest-datadir/default.nix index 1dc218c08085c..6acdecf5d88cd 100644 --- a/pkgs/development/python-modules/pytest-datadir/default.nix +++ b/pkgs/development/python-modules/pytest-datadir/default.nix @@ -27,6 +27,6 @@ buildPythonPackage rec { homepage = "https://github.com/gabrielcnr/pytest-datadir"; description = "pytest plugin for manipulating test data directories and files"; license = licenses.mit; - maintainers = with maintainers; [ metadark ]; + maintainers = with maintainers; [ kira-bruneau ]; }; } diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index 59a8c74f709ce..8fae54c846608 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -6,7 +6,7 @@ cudaArchList ? null, # Native build inputs - cmake, util-linux, linkFarm, symlinkJoin, which, + cmake, util-linux, linkFarm, symlinkJoin, which, pybind11, # Build inputs numactl, @@ -216,6 +216,7 @@ in buildPythonPackage rec { util-linux which ninja + pybind11 ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ]; buildInputs = [ blas blas.provider ] diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix index 618dfef4171cd..c9fbedbbfd4ff 100644 --- a/pkgs/development/python-modules/pyvex/default.nix +++ b/pkgs/development/python-modules/pyvex/default.nix @@ -18,6 +18,10 @@ buildPythonPackage rec { sha256 = "sha256-cWQdrGKJyGieBow3TiMj/uB2crIF32Kvl5tVUKg/z+E="; }; + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace vex/Makefile-gcc --replace '/usr/bin/ar' 'ar' + ''; + propagatedBuildInputs = [ archinfo bitstring diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart-open/default.nix index 4f3423b7df320..051d6c97397d6 100644 --- a/pkgs/development/python-modules/smart_open/default.nix +++ b/pkgs/development/python-modules/smart-open/default.nix @@ -12,12 +12,13 @@ }: buildPythonPackage rec { - pname = "smart_open"; + pname = "smart-open"; version = "4.2.0"; disabled = pythonOlder "3.5"; src = fetchPypi { - inherit pname version; + pname = "smart_open"; + inherit version; sha256 = "d9f5a0f173ccb9bbae528db5a3804f57145815774f77ef755b9b0f3b4b2a9dcb"; }; @@ -29,9 +30,10 @@ buildPythonPackage rec { # upstream code requires both boto and boto3 propagatedBuildInputs = [ boto boto3 bz2file requests ]; + meta = { license = lib.licenses.mit; - description = "smart_open is a Python 2 & Python 3 library for efficient streaming of very large file"; + description = "Library for efficient streaming of very large file"; maintainers = with lib.maintainers; [ jyp ]; }; } diff --git a/pkgs/development/python-modules/token-bucket/default.nix b/pkgs/development/python-modules/token-bucket/default.nix new file mode 100644 index 0000000000000..ac614d53fd5af --- /dev/null +++ b/pkgs/development/python-modules/token-bucket/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestrunner +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "token-bucket"; + version = "0.2.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "falconry"; + repo = pname; + rev = version; + sha256 = "0kv8j2ab4knvzik2di66bgjwjxdslm2i0hjy35kn9z0dazni585s"; + }; + + nativeBuildInputs = [ + pytestrunner + ]; + + checkInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = "Token Bucket Implementation for Python Web Apps"; + homepage = "https://github.com/falconry/token-bucket"; + license = licenses.asl20; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/udatetime/default.nix b/pkgs/development/python-modules/udatetime/default.nix new file mode 100644 index 0000000000000..457020af6457e --- /dev/null +++ b/pkgs/development/python-modules/udatetime/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +}: + +buildPythonPackage rec { + pname = "udatetime"; + version = "0.0.16"; + + src = fetchPypi { + inherit pname version; + sha256 = "09vlcskvaxnfk73l9w5xgl2ks9l62g1b24yrm0xxb7gn93qxglw2"; + }; + + patches = [ + # fix build with python 3.9 + (fetchpatch { + url = "https://github.com/freach/udatetime/pull/33.patch"; + sha256 = "02wm7ivkv1viqn2wflgd10dgpddfqfrwacmrldigb1mwb79n554j"; + }) + ]; + + # tests not included on pypi + doCheck = false; + + pythonImportsCheck = [ "udatetime" ]; + + meta = with lib; { + description = "Fast RFC3339 compliant Python date-time library"; + homepage = "https://github.com/freach/udatetime"; + license = licenses.asl20; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix index 846aa7a13dfc6..70ddf7bec97ab 100644 --- a/pkgs/development/python-modules/vdf/default.nix +++ b/pkgs/development/python-modules/vdf/default.nix @@ -1,24 +1,28 @@ -{ lib, buildPythonPackage, fetchFromGitHub -, pytest, pytestcov, mock }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, mock +, pytestCheckHook +}: buildPythonPackage rec { pname = "vdf"; - version = "3.3"; + version = "3.4"; src = fetchFromGitHub { owner = "ValvePython"; repo = pname; rev = "v${version}"; - sha256 = "0d9bhxdznry7kzyma00cxwjn6rqnd6vw8v5ym68k6qswgfzb569i"; + hash = "sha256-6ozglzZZNKDtADkHwxX2Zsnkh6BE8WbcRcC9HkTTgPU="; }; - checkInputs = [ pytest pytestcov mock ]; - checkPhase = "make test"; + checkInputs = [ mock pytestCheckHook ]; + pythonImportsCheck = [ "vdf" ]; meta = with lib; { description = "Library for working with Valve's VDF text format"; homepage = "https://github.com/ValvePython/vdf"; license = licenses.mit; - maintainers = with maintainers; [ metadark ]; + maintainers = with maintainers; [ kira-bruneau ]; }; } diff --git a/pkgs/development/python-modules/watchgod/default.nix b/pkgs/development/python-modules/watchgod/default.nix new file mode 100644 index 0000000000000..5bb8425864226 --- /dev/null +++ b/pkgs/development/python-modules/watchgod/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "watchgod"; + version = "0.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "0aagm0n5fkpzdsfgl0r21gkz5qaicgq3f4rqz2fdvsgbn1i0s528"; + }; + + # no tests in release + doCheck = false; + + pythonImportsCheck = [ "watchgod" ]; + + meta = with lib; { + description = "Simple, modern file watching and code reload in python"; + homepage = "https://github.com/samuelcolvin/watchgod"; + license = licenses.mit; + maintainers = with maintainers; [ globin ]; + }; + +} diff --git a/pkgs/development/python-modules/xdg/default.nix b/pkgs/development/python-modules/xdg/default.nix index e47a91fb993b9..2ea4e5bedf8bc 100644 --- a/pkgs/development/python-modules/xdg/default.nix +++ b/pkgs/development/python-modules/xdg/default.nix @@ -5,7 +5,7 @@ }: buildPythonPackage rec { - version = "5.0.1"; + version = "5.0.2"; pname = "xdg"; disabled = isPy27; format = "pyproject"; @@ -14,7 +14,7 @@ buildPythonPackage rec { owner = "srstevenson"; repo = pname; rev = version; - sha256 = "sha256-WMY9Hs9SbErTp8hVBoCWTz4dLQhuzqTRpXFEyE7+woo="; + sha256 = "sha256-wZfihMrq83Bye5CE5p7bTlI9Z7CsCkSd8Art5ws4vsY="; }; nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 1a09ce60c044e..5f054e6b9962f 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -528,6 +528,14 @@ in "--with-libvirt-include=${libvirt}/include" "--with-libvirt-lib=${libvirt}/lib" ]; + dontBuild = false; + postPatch = '' + # https://gitlab.com/libvirt/libvirt-ruby/-/commit/43543991832c9623c00395092bcfb9e178243ba4 + substituteInPlace ext/libvirt/common.c \ + --replace 'st.h' 'ruby/st.h' + substituteInPlace ext/libvirt/domain.c \ + --replace 'st.h' 'ruby/st.h' + ''; }; ruby-lxc = attrs: { diff --git a/pkgs/development/tools/analysis/bingrep/default.nix b/pkgs/development/tools/analysis/bingrep/default.nix index 338bc3e189c14..d354b71fc9f3f 100644 --- a/pkgs/development/tools/analysis/bingrep/default.nix +++ b/pkgs/development/tools/analysis/bingrep/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-ayA3aEidZPa5GJgbbm5K3X2Xgd5Eb6TgUU80Gw/p07w="; }; - cargoSha256 = "sha256-3eGYU5O7HSpawIL/8OVmROCzXfdnoMAnIujjrIp00xg="; + cargoSha256 = "sha256-XcXllex7UEufV5URhH7aqln1tNxwaiAETO3fUKmHf7s="; meta = with lib; { description = "Greps through binaries from various OSs and architectures, and colors them"; diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix index a0f251bfe9105..66f2db2806854 100644 --- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix +++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { ]; buildInputs = [ openssl ]; - cargoSha256 = "0pn9xgryfb7f0plx50v9i7hsv1wib87pi0fl43cv6hgqyrdb52ny"; + cargoSha256 = "1hpi9aifn3g19yqkb58lphyw8cbsqllhg5dzbqx15hcfvrb7ip4k"; #checkFlags = [ "--test-threads" "1" ]; doCheck = false; diff --git a/pkgs/development/tools/analysis/dotenv-linter/default.nix b/pkgs/development/tools/analysis/dotenv-linter/default.nix index b05f9b944400d..f477da365d753 100644 --- a/pkgs/development/tools/analysis/dotenv-linter/default.nix +++ b/pkgs/development/tools/analysis/dotenv-linter/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-3Lj5GtWGyWDkZPhxYQu7UWzmh7TO5wk1UJ0lek1jTto="; }; - cargoSha256 = "sha256-zdvIC+VUASjhrlyRts+JJeh5xdcdpX6Ixle6HhbMJJU="; + cargoSha256 = "sha256-FDkxJuZPzDrgLJgefkRUPS+0Ys3DaBOD3XAuS/Z6TtI="; meta = with lib; { description = "Lightning-fast linter for .env files. Written in Rust"; diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix index f7f933392ab4c..500ca632fcf0f 100644 --- a/pkgs/development/tools/analysis/panopticon/default.nix +++ b/pkgs/development/tools/analysis/panopticon/default.nix @@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec { dontWrapQtApps = true; - cargoSha256 = "1hdsn011y9invfy7can8c02zwa7birj9y1rxhrj7wyv4gh3659i0"; + cargoSha256 = "0vhcb3kw1zgchx3nrk8lyrz8p5071y99vsysxvi71klv7dcvn0am"; doCheck = false; postInstall = '' diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix index 5e321db01aa4b..75729d1eea470 100644 --- a/pkgs/development/tools/analysis/qcachegrind/default.nix +++ b/pkgs/development/tools/analysis/qcachegrind/default.nix @@ -17,7 +17,7 @@ in stdenv.mkDerivation { postInstall = '' mkdir -p $out/bin cp -p converters/dprof2calltree $out/bin/dprof2calltree - cp -p converters/hotshot2calltree.cmake $out/bin/hotshot2calltree + cp -p converters/hotshot2calltree.in $out/bin/hotshot2calltree cp -p converters/memprof2calltree $out/bin/memprof2calltree cp -p converters/op2calltree $out/bin/op2calltree cp -p converters/pprof2calltree $out/bin/pprof2calltree diff --git a/pkgs/development/tools/analysis/svlint/default.nix b/pkgs/development/tools/analysis/svlint/default.nix index a562a1baeeeb3..dc38728a44a26 100644 --- a/pkgs/development/tools/analysis/svlint/default.nix +++ b/pkgs/development/tools/analysis/svlint/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-p002oWwTQxesWLgLq8oKKzuZKXUdO4C1TZ7lR/Mh1PA="; }; - cargoSha256 = "sha256-M0hng1JcR5Q829bVOaTASl0Eq6fFm8mUFsS5zx1JX94="; + cargoSha256 = "sha256-1WEPJpU/hLn+qjU+ETkmbfZIJTORe3OUdyl605JnYmU="; meta = with lib; { description = "SystemVerilog linter"; diff --git a/pkgs/development/tools/async/default.nix b/pkgs/development/tools/async/default.nix index a45e93ab151ef..ffff8af8b6612 100644 --- a/pkgs/development/tools/async/default.nix +++ b/pkgs/development/tools/async/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "19ypflbayi5l0mb8yw7w0a4bq9a3w8nl9jsxapp9m3xggzmsvrxx"; }; - cargoSha256 = "1zgds5rjjikvaj0rxc7slyvkjn067s0v8vdnxn3vsv819q5yd707"; + cargoSha256 = "0y2q46i838gha58p95vcv5r5i14il1kv86k35s30ncfibijgp0lc"; meta = with lib; { description = "A tool to parallelize shell commands"; diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index d146050746607..b04eac35b05cf 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -7,19 +7,14 @@ , useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin) , useOpenSSL ? !isBootstrap, openssl , useNcurses ? false, ncurses -, useQt4 ? false, qt4 , withQt5 ? false, qtbase }: -assert withQt5 -> useQt4 == false; -assert useQt4 -> withQt5 == false; - stdenv.mkDerivation (rec { pname = "cmake" + lib.optionalString isBootstrap "-boot" + lib.optionalString useNcurses "-cursesUI" - + lib.optionalString withQt5 "-qt5UI" - + lib.optionalString useQt4 "-qt4UI"; + + lib.optionalString withQt5 "-qt5UI"; version = "3.19.7"; src = fetchurl { @@ -53,7 +48,6 @@ stdenv.mkDerivation (rec { ++ lib.optionals useSharedLibraries [ bzip2 curlMinimal expat libarchive xz zlib libuv rhash ] ++ lib.optional useOpenSSL openssl ++ lib.optional useNcurses ncurses - ++ lib.optional useQt4 qt4 ++ lib.optional withQt5 qtbase; propagatedBuildInputs = lib.optional stdenv.isDarwin ps; @@ -73,7 +67,7 @@ stdenv.mkDerivation (rec { configureFlags = [ "--docdir=share/doc/${pname}${version}" ] ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup - ++ lib.optional (useQt4 || withQt5) "--qt-gui" + ++ lib.optional withQt5 "--qt-gui" # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568 ++ lib.optionals stdenv.hostPlatform.is32bit [ "CFLAGS=-D_FILE_OFFSET_BITS=64" @@ -124,7 +118,7 @@ stdenv.mkDerivation (rec { configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. ''; - platforms = if useQt4 then qt4.meta.platforms else platforms.all; + platforms = platforms.all; maintainers = with maintainers; [ ttuegel lnl7 ]; license = licenses.bsd3; }; diff --git a/pkgs/development/tools/build-managers/fac/default.nix b/pkgs/development/tools/build-managers/fac/default.nix index 601f7ea9fea0a..0d62642e032c0 100644 --- a/pkgs/development/tools/build-managers/fac/default.nix +++ b/pkgs/development/tools/build-managers/fac/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { # workaround for missing Cargo.lock file cargoPatches = [ ./cargo-lock.patch ]; - cargoSha256 = "0hjfq61y1ikdcajr2k514k7fad2zxbwq7yb5nk1wx38f1524709q"; + cargoSha256 = "033wif3wwm3912ppw0gshsyjxipilg9hhvkijw29zmjfm6074b21"; # fac includes a unit test called ls_files_works which assumes it's # running in a git repo. Nix's sandbox runs cargo build outside git, diff --git a/pkgs/development/tools/bunyan-rs/default.nix b/pkgs/development/tools/bunyan-rs/default.nix new file mode 100644 index 0000000000000..12ced94c81b7b --- /dev/null +++ b/pkgs/development/tools/bunyan-rs/default.nix @@ -0,0 +1,25 @@ +{ rustPlatform +, fetchFromGitHub +, lib +}: + +rustPlatform.buildRustPackage rec { + pname = "bunyan-rs"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "LukeMathWalker"; + repo = "bunyan"; + rev = "v${version}"; + sha256 = "sha256-Rj0VoJMcl8UBuVNu88FwTNF1GBx8IEXxwLL8sGz9kVM="; + }; + + cargoSha256 = "sha256-UZAiXLbRhr2J7QFf7x+JbEjc6p2AoVHYMgyARuwaB7E="; + + meta = with lib; { + description = "A CLI to pretty print logs in bunyan format (Rust port of the original JavaScript bunyan CLI)"; + homepage = "https://github.com/LukeMathWalker/bunyan"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ netcrns ]; + }; +} diff --git a/pkgs/development/tools/cargo-flamegraph/default.nix b/pkgs/development/tools/cargo-flamegraph/default.nix index 3bdbb086d1dd3..65a49551035d7 100644 --- a/pkgs/development/tools/cargo-flamegraph/default.nix +++ b/pkgs/development/tools/cargo-flamegraph/default.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-IpmvFUWNaFQ1ls7u625vvj1TnRYXR+X1mAGdBcwRFLk="; }; - cargoSha256 = "sha256-2YHkEQZqjKEvg4h9kIVhqmgq+SMF1c3r8UbSQivZh7w="; + cargoSha256 = "sha256-ccy5ZFS2Gp4Dwo8gsS6vzHHO1siicOp7uZTsCh6SKsM="; nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ]; buildInputs = lib.optionals stdenv.isDarwin [ diff --git a/pkgs/development/tools/cargo-web/default.nix b/pkgs/development/tools/cargo-web/default.nix index c85ef52564a4d..2c35e951cda13 100644 --- a/pkgs/development/tools/cargo-web/default.nix +++ b/pkgs/development/tools/cargo-web/default.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1dl5brj5fnmxmwl130v36lvy4j64igdpdvjwmxw3jgg2c6r6b7cd"; }; - cargoSha256 = "0i9xp7vd1rp6xgkbbrspm3qq4hxwfwa00di3k73z1x64d3d8r5fm"; + cargoSha256 = "0q7yxvvngfvn4s889qzp1qnsw2c6qy2ryv9vz9cxhmqidx4dg4va"; nativeBuildInputs = [ openssl perl pkg-config ]; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ]; diff --git a/pkgs/development/tools/chit/default.nix b/pkgs/development/tools/chit/default.nix index ac8f15a415888..dd37efb506d62 100644 --- a/pkgs/development/tools/chit/default.nix +++ b/pkgs/development/tools/chit/default.nix @@ -15,7 +15,7 @@ buildRustPackage rec { sha256 = "0iixczy3cad44j2d7zzj8f3lnmp4jwnb0snmwfgiq3vj9wrn28pz"; }; - cargoSha256 = "1w25k3bqmmcrhpkw510vbwph0rfmrzi2wby0z2rz1q4k1f9k486m"; + cargoSha256 = "1y6k24p4m67v5773rzid2r0jwxp9piggrp0462z446hbcam2r4gd"; nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; buildInputs = [] diff --git a/pkgs/development/tools/clog-cli/default.nix b/pkgs/development/tools/clog-cli/default.nix index c3b477e3ea369..395cd7979d615 100644 --- a/pkgs/development/tools/clog-cli/default.nix +++ b/pkgs/development/tools/clog-cli/default.nix @@ -13,7 +13,7 @@ buildRustPackage rec { sha256 = "1wxglc4n1dar5qphhj5pab7ps34cjr7jy611fwn72lz0f6c7jp3z"; }; - cargoSha256 = "1s7g9mcjyp0pjjxma1mb290fi7fk54qy2khh1zksxhr4d3mciv08"; + cargoSha256 = "0xcgzlcmlk5ycw4kklprm8lzs72j2zp8xm3dcpy606z4r9qn0c6a"; meta = { description = "Generate changelogs from local git metadata"; diff --git a/pkgs/development/tools/cmake-language-server/default.nix b/pkgs/development/tools/cmake-language-server/default.nix index 2c85890e70bfc..0540e5785f6ed 100644 --- a/pkgs/development/tools/cmake-language-server/default.nix +++ b/pkgs/development/tools/cmake-language-server/default.nix @@ -16,11 +16,15 @@ buildPythonApplication rec { sha256 = "0vz7bjxkk0phjhz3h9kj6yr7wnk3g7lqmkqraa0kw12mzcfck837"; }; - # can be removed after v0.1.2 - patches = lib.optional stdenv.isDarwin (fetchpatch { - url = "https://github.com/regen100/cmake-language-server/commit/0ec120f39127f25898ab110b43819e3e9becb8a3.patch"; - sha256 = "1xbmarvsvzd61fnlap4qscnijli2rw2iqr7cyyvar2jd87z6sfp0"; - }); + patches = [ + ./disable-test-timeouts.patch + ] ++ lib.optionals stdenv.isDarwin [ + # can be removed after v0.1.2 + (fetchpatch { + url = "https://github.com/regen100/cmake-language-server/commit/0ec120f39127f25898ab110b43819e3e9becb8a3.patch"; + sha256 = "1xbmarvsvzd61fnlap4qscnijli2rw2iqr7cyyvar2jd87z6sfp0"; + }) + ]; postPatch = '' substituteInPlace pyproject.toml \ @@ -38,6 +42,6 @@ buildPythonApplication rec { homepage = "https://github.com/regen100/cmake-language-server"; description = "CMake LSP Implementation"; license = licenses.mit; - maintainers = with maintainers; [ metadark ]; + maintainers = with maintainers; [ kira-bruneau ]; }; } diff --git a/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch b/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch new file mode 100644 index 0000000000000..febe7cf77e71a --- /dev/null +++ b/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch @@ -0,0 +1,13 @@ +diff --git a/tests/test_server.py b/tests/test_server.py +index c0777f5..1184fb3 100644 +--- a/tests/test_server.py ++++ b/tests/test_server.py +@@ -11,7 +11,7 @@ from pygls.types import (CompletionContext, CompletionParams, + InitializeParams, Position, TextDocumentIdentifier, + TextDocumentItem, TextDocumentPositionParams) + +-CALL_TIMEOUT = 2 ++CALL_TIMEOUT = None + + + def _init(client: LanguageServer, root: Path): diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 5e0b8845bd8b5..ce3264e1addea 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -30,7 +30,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "0jh5ghjyzr7srl3xjsklv9yskq8k88kmylpiigjir0mkbn43fgzq"; + sha256 = "01ajl7zka5fnph5zcnp3z6ir8xr81wzkam69gxazwjb3nbs642an"; }; patches = [ ./fix-shell-path.patch ]; diff --git a/pkgs/development/tools/convco/default.nix b/pkgs/development/tools/convco/default.nix index c152197358c91..44445f86752a7 100644 --- a/pkgs/development/tools/convco/default.nix +++ b/pkgs/development/tools/convco/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-eWe7oTWl7QfIqq3GfMILi5S8zUi03ER1Mzfr8hqUvgw="; }; - cargoSha256 = "sha256-hAUg2mh4VyyjkBRBs5YWi14yeGlMXxt+cdoz5xOS+1A="; + cargoSha256 = "sha256-RuClZ+ChP7d40e9nr1Lg8R0F7rbFbBse79V9Y1AQn3o="; nativeBuildInputs = [ openssl perl pkg-config ]; diff --git a/pkgs/development/tools/diesel-cli/default.nix b/pkgs/development/tools/diesel-cli/default.nix index 8a976f44bf728..a2c1af2607d1e 100644 --- a/pkgs/development/tools/diesel-cli/default.nix +++ b/pkgs/development/tools/diesel-cli/default.nix @@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; cargoPatches = [ ./cargo-lock.patch ]; - cargoSha256 = "1vkwp861vm20agj0lkhnnxgg4vwg4d5clvvyzxrmm4y4yw46cdl2"; + cargoSha256 = "060r90dvdi0s5v3kjagsrrdb4arzzbkin8v5563rdpv0sq1pi3bm"; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/documentation/gi-docgen/default.nix b/pkgs/development/tools/documentation/gi-docgen/default.nix index 06de11fde592a..2218b441476e9 100644 --- a/pkgs/development/tools/documentation/gi-docgen/default.nix +++ b/pkgs/development/tools/documentation/gi-docgen/default.nix @@ -1,6 +1,5 @@ { lib , fetchFromGitLab -, fetchpatch , meson , ninja , python3 @@ -8,68 +7,18 @@ python3.pkgs.buildPythonApplication rec { pname = "gi-docgen"; - version = "2021.2"; + version = "2021.5"; format = "other"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; - owner = "ebassi"; + owner = "GNOME"; repo = pname; rev = version; - sha256 = "17swx4s60anfyyb6dcsl8fq3s0j9cy54qcw0ciq4qj59d4039w5h"; + sha256 = "1fz6r6mkp4fw1mn6gn9745wcdcqg7696bbwvdcnmhinlhrcnaiz6"; }; - patches = [ - # Add pkg-config file so that Meson projects can find this. - # https://gitlab.gnome.org/ebassi/gi-docgen/merge_requests/26 - (fetchpatch { - url = "https://gitlab.gnome.org/jtojnar/gi-docgen/commit/d65ed2e4827c4129d26e3c1df9a48054b4e72c50.patch"; - sha256 = "BEefcHiAd/HTW5zo39J2WtfQjGXUkNFB6MDJj8/Ge80="; - }) - - # Name generated devhelp files correctly. - # https://gitlab.gnome.org/ebassi/gi-docgen/merge_requests/27 - (fetchpatch { - url = "https://gitlab.gnome.org/ebassi/gi-docgen/commit/7c4de72f55cbce5670c3a6a1451548e97e5f07f7.patch"; - sha256 = "ov/PvrZzKmCzw7nHJkbeLCnhtUVw1UbZQjFrWT3AtVg="; - }) - - # Fix broken link in Devhelp TOC. - # https://gitlab.gnome.org/ebassi/gi-docgen/merge_requests/28 - (fetchpatch { - url = "https://gitlab.gnome.org/ebassi/gi-docgen/commit/56f0e6f8b4bb9c92d635df60aa5d68f55b036711.patch"; - sha256 = "5gFGiO9jPpkyZBL4qtWEotE5jY3sCGFGUGN/Fb6jZ+0="; - }) - - # Devhelp does not like subsections without links. - # https://gitlab.gnome.org/GNOME/devhelp/-/issues/28 - (fetchpatch { - # Only visual but needed for the other two to apply. - # https://gitlab.gnome.org/ebassi/gi-docgen/merge_requests/28 - url = "https://gitlab.gnome.org/ebassi/gi-docgen/commit/7f67fad5107b73489cb7bffca49177d9ad78e422.patch"; - sha256 = "OKbC690nJsl1ckm/y9eeKDYX6AEClsNvIFy7DK+JYEc="; - }) - # Add links to index. - (fetchpatch { - url = "https://gitlab.gnome.org/ebassi/gi-docgen/commit/f891cc5fd481bc4180eec144d14f32c15c91833b.patch"; - sha256 = "Fcnvdgxei+2ulGoWoCZ8WFrNy01tlNXMkHru3ArGHVQ="; - }) - # Use different link for each symbol type name. - # https://gitlab.gnome.org/ebassi/gi-docgen/merge_requests/29 - (fetchpatch { - url = "https://gitlab.gnome.org/jtojnar/gi-docgen/commit/08dcc31f62be1a5af9bd9f8f702f321f4b5cffde.patch"; - sha256 = "vAT8s7zQ9zCoZWK+6PsxcD5/48ZAfIOl4RSNljRCGWQ="; - }) - # make DevHelp sections & index.json have stable ordering - # already merged upstream, so patch can removed when we update - # beyond 2021.2 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gi-docgen/-/commit/cc21241d4386d4f78dbcb087fd9a92899935cb5c.patch"; - sha256 = "0wna8mzrlbsv7f3bc7ndqll9l105kp8kdmhbbjhbdhzzzyvh6vcw"; - }) - ]; - nativeBuildInputs = [ meson ninja @@ -94,7 +43,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Documentation generator for GObject-based libraries"; - homepage = "https://gitlab.gnome.org/ebassi/gi-docgen"; + homepage = "https://gitlab.gnome.org/GNOME/gi-docgen"; license = licenses.asl20; # OR GPL-3.0-or-later maintainers = teams.gnome.members; }; diff --git a/pkgs/development/tools/documentation/mdsh/default.nix b/pkgs/development/tools/documentation/mdsh/default.nix index 68be931aa444f..e9bf373451332 100644 --- a/pkgs/development/tools/documentation/mdsh/default.nix +++ b/pkgs/development/tools/documentation/mdsh/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1ki6w3qf8ipcf7ch5120mj16vs7yan8k9zjd25v8x6vbsd1iccgy"; }; - cargoSha256 = "10iqypz8hfyzy1xd78r39z2waa728d97kfnf1bbx8fr4a4pzan7y"; + cargoSha256 = "0x5fd47rjmzzmwgj14gbj0rbxwbphd7f63mis4ivwlwc9ikjxdxb"; meta = with lib; { description = "Markdown shell pre-processor"; diff --git a/pkgs/development/tools/dot-http/default.nix b/pkgs/development/tools/dot-http/default.nix index b156847870d89..d5a507d4ebbae 100644 --- a/pkgs/development/tools/dot-http/default.nix +++ b/pkgs/development/tools/dot-http/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1s2q4kdldhb5gd14g2h6vzrbjgbbbs9zp2dgmna0rhk1h4qv0mml"; }; - cargoSha256 = "0an3hskq1k2j4gdn8wvhfb9pqsc34ibs5bv7sjznkp5jma6fdr9w"; + cargoSha256 = "013jyp2bgmssj1c18lm8jkb6q6jlhdrqzmyri6k5lgmfmb9dvkii"; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/git-aggregator/default.nix b/pkgs/development/tools/git-aggregator/default.nix new file mode 100644 index 0000000000000..a6599c667c866 --- /dev/null +++ b/pkgs/development/tools/git-aggregator/default.nix @@ -0,0 +1,40 @@ +{ git, lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "git-aggregator"; + version = "1.8.1"; + + src = python3Packages.fetchPypi { + inherit pname version; + hash = "sha256-LLsyhyhPmOOvPzwEEJwkhrDfBMFueA7kuDlnrqwr08k="; + }; + + nativeBuildInputs = with python3Packages; [ + setuptools-scm + ]; + propagatedBuildInputs = with python3Packages; [ + argcomplete + colorama + git + kaptan + requests + ]; + + checkInputs = [ + git + ]; + + preCheck = '' + export HOME=`mktemp -d` + git config --global user.name John + git config --global user.email john@localhost + ''; + + meta = with lib; { + description = "Manage the aggregation of git branches from different remotes to build a consolidated one."; + homepage = "https://github.com/acsone/git-aggregator"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ lourkeur ]; + mainProgram = "gitaggregate"; + }; +} diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix index 0f7677c7aa26d..752cefad3c275 100644 --- a/pkgs/development/tools/git-series/default.nix +++ b/pkgs/development/tools/git-series/default.nix @@ -15,7 +15,7 @@ buildRustPackage rec { sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014"; }; - cargoSha256 = "0ijgx8fksg2najb336dhddxlqfzc338f9ylydkpw6b39k72mm00d"; + cargoSha256 = "0870f4rd98fbmyl8524ivfg3xf4qpzb1x68q1idnl47mmf68pyx8"; cargoPatches = [ (fetchpatch { diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix index aa6382bb16da5..489b62891b65f 100644 --- a/pkgs/development/tools/kustomize/default.nix +++ b/pkgs/development/tools/kustomize/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "kustomize"; - version = "4.1.2"; + version = "4.1.3"; # rev is the commit of the tag, mainly for kustomize version command output rev = "9e8e7a7fe99ec9fbf801463e8607928322fc5245"; @@ -17,7 +17,7 @@ buildGoModule rec { owner = "kubernetes-sigs"; repo = pname; rev = "kustomize/v${version}"; - sha256 = "sha256-uomtW6PPs/UHvKRbHToot6kU4YJGLJuet8vJENbwEgI="; + sha256 = "sha256-NPWKInDHOoelWqDrUn/AlRItI4e8J6dbBxgLW078ecs="; }; # TODO: Remove once https://github.com/kubernetes-sigs/kustomize/pull/3708 got merged. @@ -26,7 +26,7 @@ buildGoModule rec { # avoid finding test and development commands sourceRoot = "source/kustomize"; - vendorSha256 = "sha256-fcsjxtCojahI6ZIcaSG5ubNqlWEC6DnNHtVYwTtbSw4="; + vendorSha256 = "sha256-6maEpEPEV436NrVnVlvWV1q6YywGVILXbxn8Z8Ku/hs="; meta = with lib; { description = "Customization of kubernetes YAML configurations"; diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index ae8fc2d90619b..3b70e819c8998 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -6,11 +6,11 @@ # files. stdenv.mkDerivation rec { - name = "autoconf-2.70"; + name = "autoconf-2.71"; src = fetchurl { url = "mirror://gnu/autoconf/${name}.tar.xz"; - sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps"; + sha256 = "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i"; }; nativeBuildInputs = [ m4 perl ]; diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index c6eb6916d1ec8..75c6471eb4c6e 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -62,7 +62,9 @@ stdenv.mkDerivation rec { # the configure check for regcomp wants to run a host program "libopts_cv_with_libregex=yes" #"MAKEINFO=${buildPackages.texinfo}/bin/makeinfo" - ]); + ]) + # See: https://sourceforge.net/p/autogen/bugs/187/ + ++ lib.optionals stdenv.isDarwin [ "ac_cv_func_utimensat=no" ]; #doCheck = true; # not reliable diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix index b905f5e8ed5ed..94fca742b6d35 100644 --- a/pkgs/development/tools/misc/ccache/default.nix +++ b/pkgs/development/tools/misc/ccache/default.nix @@ -102,7 +102,7 @@ let ccache = stdenv.mkDerivation rec { homepage = "https://ccache.dev"; downloadPage = "https://ccache.dev/download.html"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ metadark r-burns ]; + maintainers = with maintainers; [ kira-bruneau r-burns ]; platforms = platforms.unix; }; }; diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix index 90825db2a549c..fde7307b27dc9 100644 --- a/pkgs/development/tools/misc/ctags/default.nix +++ b/pkgs/development/tools/misc/ctags/default.nix @@ -15,6 +15,13 @@ stdenv.mkDerivation rec { # don't use $T(E)MP which is set to the build directory configureFlags= [ "--enable-tmpdir=/tmp" ]; + patches = [ + # Library defines an `__unused__` which is a reserved name, and may + # conflict with the standard library definition. One such conflict is with + # macOS headers. + ./unused-collision.patch + ]; + meta = with lib; { description = "A tool for fast source code browsing (exuberant ctags)"; longDescription = '' diff --git a/pkgs/development/tools/misc/ctags/unused-collision.patch b/pkgs/development/tools/misc/ctags/unused-collision.patch new file mode 100644 index 0000000000000..595f67a01b5aa --- /dev/null +++ b/pkgs/development/tools/misc/ctags/unused-collision.patch @@ -0,0 +1,246 @@ +--- a/c.c (revision 816) ++++ b/c.c (working copy) +@@ -619,7 +619,7 @@ + return name; + } + +-static void __unused__ pt (tokenInfo *const token) ++static void UNUSED pt (tokenInfo *const token) + { + if (isType (token, TOKEN_NAME)) + printf ("type: %-12s: %-13s line: %lu\n", +@@ -634,7 +634,7 @@ + tokenString (token->type), token->lineNumber); + } + +-static void __unused__ ps (statementInfo *const st) ++static void UNUSED ps (statementInfo *const st) + { + unsigned int i; + printf ("scope: %s decl: %s gotName: %s gotParenName: %s\n", +--- a/eiffel.c (revision 816) ++++ b/eiffel.c (working copy) +@@ -807,7 +807,7 @@ + + static boolean parseType (tokenInfo *const token); + +-static void parseGeneric (tokenInfo *const token, boolean declaration __unused__) ++static void parseGeneric (tokenInfo *const token, boolean declaration UNUSED) + { + unsigned int depth = 0; + #ifdef TYPE_REFERENCE_TOOL +--- a/general.h (revision 816) ++++ b/general.h (working copy) +@@ -57,10 +57,10 @@ + * to prevent warnings about unused variables. + */ + #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !defined (__GNUG__) +-# define __unused__ __attribute__((unused)) ++# define UNUSED __attribute__((unused)) + # define __printf__(s,f) __attribute__((format (printf, s, f))) + #else +-# define __unused__ ++# define UNUSED + # define __printf__(s,f) + #endif + +--- a/lregex.c (revision 816) ++++ b/lregex.c (working copy) +@@ -538,11 +538,11 @@ + #endif /* HAVE_REGEX */ + + extern void addTagRegex ( +- const langType language __unused__, +- const char* const regex __unused__, +- const char* const name __unused__, +- const char* const kinds __unused__, +- const char* const flags __unused__) ++ const langType language UNUSED, ++ const char* const regex UNUSED, ++ const char* const name UNUSED, ++ const char* const kinds UNUSED, ++ const char* const flags UNUSED) + { + #ifdef HAVE_REGEX + Assert (regex != NULL); +@@ -564,10 +564,10 @@ + } + + extern void addCallbackRegex ( +- const langType language __unused__, +- const char* const regex __unused__, +- const char* const flags __unused__, +- const regexCallback callback __unused__) ++ const langType language UNUSED, ++ const char* const regex UNUSED, ++ const char* const flags UNUSED, ++ const regexCallback callback UNUSED) + { + #ifdef HAVE_REGEX + Assert (regex != NULL); +@@ -581,7 +581,7 @@ + } + + extern void addLanguageRegex ( +- const langType language __unused__, const char* const regex __unused__) ++ const langType language UNUSED, const char* const regex UNUSED) + { + #ifdef HAVE_REGEX + if (! regexBroken) +@@ -602,7 +602,7 @@ + */ + + extern boolean processRegexOption (const char *const option, +- const char *const parameter __unused__) ++ const char *const parameter UNUSED) + { + boolean handled = FALSE; + const char* const dash = strchr (option, '-'); +@@ -624,7 +624,7 @@ + return handled; + } + +-extern void disableRegexKinds (const langType language __unused__) ++extern void disableRegexKinds (const langType language UNUSED) + { + #ifdef HAVE_REGEX + if (language <= SetUpper && Sets [language].count > 0) +@@ -639,8 +639,8 @@ + } + + extern boolean enableRegexKind ( +- const langType language __unused__, +- const int kind __unused__, const boolean mode __unused__) ++ const langType language UNUSED, ++ const int kind UNUSED, const boolean mode UNUSED) + { + boolean result = FALSE; + #ifdef HAVE_REGEX +@@ -660,7 +660,7 @@ + return result; + } + +-extern void printRegexKinds (const langType language __unused__, boolean indent __unused__) ++extern void printRegexKinds (const langType language UNUSED, boolean indent UNUSED) + { + #ifdef HAVE_REGEX + if (language <= SetUpper && Sets [language].count > 0) +--- a/lua.c (revision 816) ++++ b/lua.c (working copy) +@@ -37,7 +37,7 @@ + */ + + /* for debugging purposes */ +-static void __unused__ print_string (char *p, char *q) ++static void UNUSED print_string (char *p, char *q) + { + for ( ; p != q; p++) + fprintf (errout, "%c", *p); +--- a/main.c (revision 816) ++++ b/main.c (working copy) +@@ -522,7 +522,7 @@ + * Start up code + */ + +-extern int main (int __unused__ argc, char **argv) ++extern int main (int UNUSED argc, char **argv) + { + cookedArgs *args; + #ifdef VMS +--- a/options.c (revision 816) ++++ b/options.c (working copy) +@@ -730,7 +730,7 @@ + } + + static void processExcludeOption ( +- const char *const option __unused__, const char *const parameter) ++ const char *const option UNUSED, const char *const parameter) + { + const char *const fileName = parameter + 1; + if (parameter [0] == '\0') +@@ -867,7 +867,7 @@ + } + + static void processFilterTerminatorOption ( +- const char *const option __unused__, const char *const parameter) ++ const char *const option UNUSED, const char *const parameter) + { + freeString (&Option.filterTerminator); + Option.filterTerminator = stringCopy (parameter); +@@ -930,8 +930,8 @@ + } + + static void processHelpOption ( +- const char *const option __unused__, +- const char *const parameter __unused__) ++ const char *const option UNUSED, ++ const char *const parameter UNUSED) + { + printProgramIdentification (); + putchar ('\n'); +@@ -1139,8 +1139,8 @@ + } + + static void processLicenseOption ( +- const char *const option __unused__, +- const char *const parameter __unused__) ++ const char *const option UNUSED, ++ const char *const parameter UNUSED) + { + printProgramIdentification (); + puts (""); +@@ -1166,8 +1166,8 @@ + } + + static void processListMapsOption ( +- const char *const __unused__ option, +- const char *const __unused__ parameter) ++ const char *const UNUSED option, ++ const char *const UNUSED parameter) + { + if (parameter [0] == '\0' || strcasecmp (parameter, "all") == 0) + printLanguageMaps (LANG_AUTO); +@@ -1183,8 +1183,8 @@ + } + + static void processListLanguagesOption ( +- const char *const option __unused__, +- const char *const parameter __unused__) ++ const char *const option UNUSED, ++ const char *const parameter UNUSED) + { + printLanguageList (); + exit (0); +@@ -1358,8 +1358,8 @@ + } + + static void processVersionOption ( +- const char *const option __unused__, +- const char *const parameter __unused__) ++ const char *const option UNUSED, ++ const char *const parameter UNUSED) + { + printProgramIdentification (); + exit (0); +--- a/parse.c (revision 816) ++++ b/parse.c (working copy) +@@ -376,7 +376,7 @@ + */ + + extern void processLanguageDefineOption ( +- const char *const option, const char *const parameter __unused__) ++ const char *const option, const char *const parameter UNUSED) + { + #ifdef HAVE_REGEX + if (parameter [0] == '\0') +--- a/routines.c (revision 816) ++++ b/routines.c (working copy) +@@ -526,7 +526,7 @@ + + #if ! defined (HAVE_STAT_ST_INO) + +-static void canonicalizePath (char *const path __unused__) ++static void canonicalizePath (char *const path UNUSED) + { + #if defined (MSDOS_STYLE_PATH) + char *p; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 66d4e8bc05726..ffe1fa3662f88 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -26,11 +26,11 @@ assert pythonSupport -> python3 != null; stdenv.mkDerivation rec { pname = targetPrefix + basename; - version = "10.1"; + version = "10.2"; src = fetchurl { url = "mirror://gnu/gdb/${basename}-${version}.tar.xz"; - sha256 = "1h32dckz1y8fnyxh22iyw8h3hnhxr79v1ng85px3ljn1xv71wbzq"; + sha256 = "0aag1c0fw875pvhjg1qp7x8pf6gf92bjv5gcic5716scacyj58da"; }; postPatch = if stdenv.isDarwin then '' diff --git a/pkgs/development/tools/misc/hydra-cli/default.nix b/pkgs/development/tools/misc/hydra-cli/default.nix index 9160a33668119..1332885bbdbea 100644 --- a/pkgs/development/tools/misc/hydra-cli/default.nix +++ b/pkgs/development/tools/misc/hydra-cli/default.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { rev = "v${version}"; sha256 = "1fd3swdjx249971ak1bgndm5kh6rlzbfywmydn122lhfi6ry6a03"; }; - cargoSha256 = "1fjzcgayyha270bdxl5p6c337nq8zj4h81rk4ih9czyz3yaxga3f"; + cargoSha256 = "16446ppkvc6l8087x5m5kyy5gk4f7inyj7rzrfysriw4fvqxjsf3"; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; diff --git a/pkgs/development/tools/misc/itm-tools/default.nix b/pkgs/development/tools/misc/itm-tools/default.nix index 32c32b536d9d0..0abdd01790132 100644 --- a/pkgs/development/tools/misc/itm-tools/default.nix +++ b/pkgs/development/tools/misc/itm-tools/default.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { cargoPatches = [ ./cargo-lock.patch ]; - cargoSha256 = "0rl2ph5igwjl7rwpwcf6afnxly5av7cd6va6wn82lxm606giyq75"; + cargoSha256 = "1hqv530x8k4rf9zzyl5p5z58bymk1p4qwrcxs21gr0zm2hqjlxy4"; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/misc/libtool/libtool2-macos11.patch b/pkgs/development/tools/misc/libtool/libtool2-macos11.patch new file mode 100644 index 0000000000000..1552ae7a949f3 --- /dev/null +++ b/pkgs/development/tools/misc/libtool/libtool2-macos11.patch @@ -0,0 +1,32 @@ +Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> +--- + m4/libtool.m4 | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/m4/libtool.m4 b/m4/libtool.m4 +index f2d1f398..b971e8e7 100644 +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -1067,16 +1067,11 @@ _LT_EOF + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; +- darwin*) # darwin 5.x on +- # if running on 10.5 or later, the deployment target defaults +- # to the OS version, if on x86, and 10.4, the deployment +- # target defaults to 10.4. Don't you love it? +- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in +- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) +- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; +- 10.[[012]][[,.]]*) ++ darwin*) ++ case ${MACOSX_DEPLOYMENT_TARGET},$host in ++ 10.[[012]],*|,*powerpc*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; +- 10.*) ++ *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; +-- +2.24.3 (Apple Git-128) diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 6d7c4a9087f45..44e4c8665c839 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchurl, m4, perl, help2man +{ lib, stdenv, fetchurl, fetchpatch, autoconf, automake, m4, perl, help2man }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "libtool"; version = "2.4.6"; @@ -12,7 +17,26 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" ]; - nativeBuildInputs = [ perl help2man m4 ]; + patches = [ + # Suport macOS version 11.0 + # https://lists.gnu.org/archive/html/libtool-patches/2020-06/msg00001.html + ./libtool2-macos11.patch + ]; + + # Normally we'd use autoreconfHook, but that includes libtoolize. + postPatch = '' + aclocal -I m4 + automake + autoconf + + pushd libltdl + aclocal -I ../m4 + automake + autoconf + popd + ''; + + nativeBuildInputs = [ perl help2man m4 ] ++ [ autoconf automake ]; propagatedBuildInputs = [ m4 ]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the diff --git a/pkgs/development/tools/misc/mdctags/default.nix b/pkgs/development/tools/misc/mdctags/default.nix index ac61702160125..7d8992b4e201c 100644 --- a/pkgs/development/tools/misc/mdctags/default.nix +++ b/pkgs/development/tools/misc/mdctags/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage { sha256 = "14gryhgh9czlkfk75ml0620c6v8r74i6h3ykkkmc7gx2z8h1jxrb"; }; - cargoSha256 = "01ap2w755vbr01nfqc5185mr2w9y32g0d4ahc3lw2x3m8qv0bh6x"; + cargoSha256 = "1kdbrcpvxiq91m5vq33vzjhsp4j3flzrpbj5hmxf0k3al1a7qk1g"; meta = { description = "tags for markdown file"; diff --git a/pkgs/development/tools/misc/ptags/default.nix b/pkgs/development/tools/misc/ptags/default.nix index 8406ecf298f80..c17bfd67358a5 100644 --- a/pkgs/development/tools/misc/ptags/default.nix +++ b/pkgs/development/tools/misc/ptags/default.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1xr1szh4dfrcmi6s6dj791k1ix2zbv75rqkqbyb1lmh5548kywkg"; }; - cargoSha256 = "1rsnb4kzfb577xw7jk0939n42sv94vvspvbz783bmpy9vl53i38k"; + cargoSha256 = "1pz5hvn1iq26i8c2cmqavhnri8h0sn40khrxvcdkj9q47nsj5wcx"; # Sanity check. checkPhase = '' diff --git a/pkgs/development/tools/misc/rtss/default.nix b/pkgs/development/tools/misc/rtss/default.nix index 505e6d23ef703..36ef4c349e9e1 100644 --- a/pkgs/development/tools/misc/rtss/default.nix +++ b/pkgs/development/tools/misc/rtss/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1936w161mkbcwicrxn51b42pgir5yjiw85s74lbfq70nddw18nyn"; }; - cargoSha256 = "0nll5gg7fjh6sz3cscarknb0gaivmzkcxhwdb2li47r74rcbrj36"; + cargoSha256 = "1b1xiaaxbw6y80pkzd594dikm372l1mmymf1wn2acmlz979nmas8"; meta = with lib; { description = "Annotate output with relative durations between lines"; diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix index 4379efd5071bc..cbdee69ce2ce5 100644 --- a/pkgs/development/tools/misc/sccache/default.nix +++ b/pkgs/development/tools/misc/sccache/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1kygk7ilv7la36kv4jdn1ird7f3896wgr88kyqf0iagfqkzb2vsb"; }; - cargoSha256 = "1cfdwf00jgwsv0f72427asid1xr57s56jk5xj489dgppvgy7wdbj"; + cargoSha256 = "1f42cqaqnjwi9k4ihqil6z2dqh5dnf76x54gk7mndzkrfg3rl573"; cargoBuildFlags = lib.optionals (!stdenv.isDarwin) [ "--features=dist-client,dist-server" ]; diff --git a/pkgs/development/tools/misc/svls/default.nix b/pkgs/development/tools/misc/svls/default.nix index 6af24ed5d10bf..13b5291479958 100644 --- a/pkgs/development/tools/misc/svls/default.nix +++ b/pkgs/development/tools/misc/svls/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-+/4D0pRZs1Gy6DJnsDZA8wWi1FKhr7gRS0oq1TyWpuE="; }; - cargoSha256 = "sha256-o6/L/4QcIei4X1pHYjV72hcEmTMp+pvJkwbb+niqWP8="; + cargoSha256 = "sha256-xkRlUXlkXQwvzIuhExf+tSSBi+8BZv58btvln05UI+k="; meta = with lib; { description = "SystemVerilog language server"; diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index eec1576711dfc..96fa70017a882 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "texlab"; - version = "3.0.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "latex-lsp"; repo = pname; rev = "v${version}"; - hash = "sha256-jOxneMqeyvMQWKPNha59H6qWSFmx+Z71SU2+M5VWMsA="; + hash = "sha256-hiz3dMEYNKKd9dZiGghAhGqoXXKJiZG6sECfsCYVscU="; }; - cargoHash = "sha256-H6czxSTw93RNTaN0OJyv0RfwmGAiFkpDgUtXHCD+jrY="; + cargoHash = "sha256-sCvQFU9/ENVi1RHV3QDngzI/S1xuHvpWxsrxT73jdI0="; outputs = [ "out" "man" ]; @@ -42,6 +42,7 @@ rustPlatform.buildRustPackage rec { description = "An implementation of the Language Server Protocol for LaTeX"; homepage = "https://texlab.netlify.app"; license = licenses.mit; - maintainers = with maintainers; [ doronbehar metadark ]; + maintainers = with maintainers; [ doronbehar kira-bruneau ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix index 557ff4fa967c8..e87f070675616 100644 --- a/pkgs/development/tools/misc/tokei/default.nix +++ b/pkgs/development/tools/misc/tokei/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-jqDsxUAMD/MCCI0hamkGuCYa8rEXNZIR8S+84S8FbgI="; }; - cargoSha256 = "sha256-iUDc54E8AiLMJw9h99kg/3VmaSi8GqfQyrPwa9nJ994="; + cargoSha256 = "sha256-U7Bode8qwDsNf4FVppfEHA9uiOFz74CtKgXG6xyYlT8="; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security diff --git a/pkgs/development/tools/misc/unused/default.nix b/pkgs/development/tools/misc/unused/default.nix index 1a5f3efe0e6ad..58e4ba0bc98ec 100644 --- a/pkgs/development/tools/misc/unused/default.nix +++ b/pkgs/development/tools/misc/unused/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ cmake ]; - cargoSha256 = "1c0gj2wp0nydv0binxj3ikm5sm6y5z3pklp5b06dgvq02licz57a"; + cargoSha256 = "0y7vsba4r4v2lwf02i2dxwicnhknajbbzsdlnn5srvg6nvl3kspi"; meta = with lib; { description = "A tool to identify potentially unused code"; diff --git a/pkgs/development/tools/misc/wishbone-tool/default.nix b/pkgs/development/tools/misc/wishbone-tool/default.nix index d900d14e33c28..0465fb74aa1ac 100644 --- a/pkgs/development/tools/misc/wishbone-tool/default.nix +++ b/pkgs/development/tools/misc/wishbone-tool/default.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage { cargoDepsHook = '' ln -s wishbone-tool source ''; - cargoSha256 = "0d5kcwy0cgxqfxf2xysw65ng84q4knhp4fgvh6dwqhf0nsca9gvs"; + cargoSha256 = "1b12wpmzv7wxidc4hd8hmp8iwqhqlycxh8bdv3rf701sqsazkc5x"; buildInputs = [ libusb-compat-0_1 ]; diff --git a/pkgs/development/tools/pactorio/default.nix b/pkgs/development/tools/pactorio/default.nix index 8defc8c06caa5..3790440f1b8b0 100644 --- a/pkgs/development/tools/pactorio/default.nix +++ b/pkgs/development/tools/pactorio/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "07h9hywz0pc29411myhxjq6pks4p6q6czbqjv7fxf3xkb1mg9grq"; }; - cargoSha256 = "1m7bvi6i52xqvssjx5fr2dz25ny7hkmb8w8p23pczpdmpd2y0r7r"; + cargoSha256 = "1rac2s36j88vm231aji8d0ndfbaa2gzxwsrxrvsi0zp9cqisc6rh"; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/development/tools/parinfer-rust/default.nix b/pkgs/development/tools/parinfer-rust/default.nix index 2cd8ff4fdb636..59253a4f7da24 100644 --- a/pkgs/development/tools/parinfer-rust/default.nix +++ b/pkgs/development/tools/parinfer-rust/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0hj5in5h7pj72m4ag80ing513fh65q8xlsf341qzm3vmxm3y3jgd"; }; - cargoSha256 = "16ylk125p368mcz8nandmfqlygrqjlf8mqaxlbpixqga378saidl"; + cargoSha256 = "1lam4gwzcj6w0pyxf61l2cpbvvf5gmj2gwi8dangnhd60qhlnvrx"; nativeBuildInputs = [ llvmPackages.clang ]; buildInputs = [ llvmPackages.libclang ]; diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 42b007300a951..0bc26db575045 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -34,8 +34,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ m4 ]; preConfigure = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes" + "export ac_cv_func_malloc_0_nonnull=yes" + "export ac_cv_func_realloc_0_nonnull=yes" ]; postConfigure = lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) '' diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index 293b8bb095a74..29edf0f9f27cb 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -30,7 +30,7 @@ let # 3) run the ./result script that is output by that (it updates ./grammars) version = "0.19.3"; sha256 = "0zd1p9x32bwdc5cdqr0x8i9fpcykk1zczb8zdjawrrr92465d26y"; - cargoSha256 = "0mlrbl85x1x2ynwrps94mxn95rjj1r7gb3vdivfaxqv1xvp25m41"; + cargoSha256 = "1n63lxp8rknb5xqp02csj649cxs7d891a520djl3lb4k1finhsjj"; src = fetchFromGitHub { owner = "tree-sitter"; diff --git a/pkgs/development/tools/pax-rs/default.nix b/pkgs/development/tools/pax-rs/default.nix index ff4219ad09c6b..248a137c49f6a 100644 --- a/pkgs/development/tools/pax-rs/default.nix +++ b/pkgs/development/tools/pax-rs/default.nix @@ -36,5 +36,5 @@ buildRustPackage rec { cp ${cargo-lock} $out/Cargo.lock ''; - cargoSha256 = "0wx5x7ll21bb6v34csk63kkvxdk3as720hdkaj0izdkpy0xf1knr"; + cargoSha256 = "0d6g52hjflnw2zvlx10pz78527vh7mw5n43yi8q6dwr3pkbds1fs"; } diff --git a/pkgs/development/tools/pqrs/default.nix b/pkgs/development/tools/pqrs/default.nix index fb91709bde035..24efea2036a63 100644 --- a/pkgs/development/tools/pqrs/default.nix +++ b/pkgs/development/tools/pqrs/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1vx952ki1rhwfmr3faxs363m9fh61b37b0bkbs57ggn9r44sk1z2"; }; - cargoSha256 = "1c482y83gzpvazdsxsx5n509mkqmyz640s18y4yg928mmqbsz9c4"; + cargoSha256 = "0mjwazsnryhlfyzcik8052q0imz5f104x86k6b5rncbbbjaj17q1"; meta = with lib; { description = "CLI tool to inspect Parquet files"; diff --git a/pkgs/development/tools/py-spy/default.nix b/pkgs/development/tools/py-spy/default.nix index 89480f53a375e..94c706c021062 100644 --- a/pkgs/development/tools/py-spy/default.nix +++ b/pkgs/development/tools/py-spy/default.nix @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { checkInputs = [ python3 ]; - cargoSha256 = "sha256-GFH8RzyAMtdfoHPcCV3pKf24fKU65vhMLQfLtkhD0Ns="; + cargoSha256 = "sha256-hmqrVGNu3zb109TQfhLI3wvGVnlc4CfbkrIKMfRSn7M="; meta = with lib; { description = "Sampling profiler for Python programs"; diff --git a/pkgs/development/tools/rebazel/default.nix b/pkgs/development/tools/rebazel/default.nix index 73a58ee100bf4..5dee0a1b9e866 100644 --- a/pkgs/development/tools/rebazel/default.nix +++ b/pkgs/development/tools/rebazel/default.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { hash = "sha256-v84ZXhtJpejQmP61NmP06+qrtMu/0yb7UyD7U12xlME="; }; - cargoSha256 = "sha256-2FmtbvtNfNoocj3Ly553KBLfOgBAa/eAxOrfZ3NGzzw="; + cargoSha256 = "sha256-cBAm8LyNKEVJkhZJ+QZU5XtQutb1oNvad8xH70Bi2LM="; meta = with lib; { description = "tool for expediting bazel build workflows"; diff --git a/pkgs/development/tools/rnix-lsp/default.nix b/pkgs/development/tools/rnix-lsp/default.nix index e938526ecbfb3..98670e9e1845e 100644 --- a/pkgs/development/tools/rnix-lsp/default.nix +++ b/pkgs/development/tools/rnix-lsp/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0fy620c34kxl27sd62x9mj0555bcdmnmbsxavmyiwb497z1m9wnn"; }; - cargoSha256 = "0xmaa7rds7hlagfxj65pv9vgflcv4nwbwbw4g7cyj88cbb1kbxxj"; + cargoSha256 = "1akapxrh38g44531r25dgik8y5qyy9y6zb031hg8v61px2ajs39s"; meta = with lib; { description = "A work-in-progress language server for Nix, with syntax checking and basic completion"; diff --git a/pkgs/development/tools/rq/default.nix b/pkgs/development/tools/rq/default.nix index c9e78650f607f..7d222e03bc977 100644 --- a/pkgs/development/tools/rq/default.nix +++ b/pkgs/development/tools/rq/default.nix @@ -11,6 +11,11 @@ rustPlatform.buildRustPackage rec { sha256 = "0km9d751jr6c5qy4af6ks7nv3xfn13iqi03wq59a1c73rnf0zinp"; }; + cargoSha256 = "0071q08f75qrxdkbx1b9phqpbj15r79jbh391y32acifi7hr35hj"; + + buildInputs = [ llvmPackages.libclang v8 ] + ++ lib.optionals stdenv.isDarwin [ libiconv ]; + postPatch = '' # Remove #[deny(warnings)] which is equivalent to -Werror in C. # Prevents build failures when upgrading rustc, which may give more warnings. @@ -18,11 +23,6 @@ rustPlatform.buildRustPackage rec { --replace "#![deny(warnings)]" "" ''; - cargoSha256 = "0c5vwy3c5ji602dj64z6jqvcpi2xff03zvjbnwihb3ydqwnb3v67"; - - buildInputs = [ llvmPackages.libclang v8 ] - ++ lib.optionals stdenv.isDarwin [ libiconv ]; - configurePhase = '' export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib" export V8_SOURCE="${v8}" diff --git a/pkgs/development/tools/rust/cargo-asm/default.nix b/pkgs/development/tools/rust/cargo-asm/default.nix index f453955a5c717..cd657967e9a0c 100644 --- a/pkgs/development/tools/rust/cargo-asm/default.nix +++ b/pkgs/development/tools/rust/cargo-asm/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1f6kzsmxgdms9lq5z9ynnmxymk9k2lzlp3caa52wqjvdw1grw0rb"; }; - cargoSha256 = "0d797cisiydblh64vqpfdjf37wmxrvs77phdrqh582lbrvnfhx2j"; + cargoSha256 = "1c22aal3i7zbyxr2c41fimfx13fwp9anmhh641951yd7cqb8xij2"; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/development/tools/rust/cargo-binutils/default.nix b/pkgs/development/tools/rust/cargo-binutils/default.nix index 05629d613d7e3..f499512ce5322 100644 --- a/pkgs/development/tools/rust/cargo-binutils/default.nix +++ b/pkgs/development/tools/rust/cargo-binutils/default.nix @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { cp ${./Cargo.lock} $out/Cargo.lock ''; - cargoSha256 = "sha256-Zrl269PacPi81TrGTIDzmVndgGY5i5lYyspiOj43rpw="; + cargoSha256 = "sha256-6du86HxkDQAeIXScXBKuv0j4YZiG4O6IwVIXZnJgTO8="; meta = with lib; { description = "Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain."; diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix index 51d19f5ad6fdf..c0baf9f396457 100644 --- a/pkgs/development/tools/rust/cargo-bloat/default.nix +++ b/pkgs/development/tools/rust/cargo-bloat/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0bqzzh8vfqm7dpnb0fv4calnhsg9p3c5j06ycvg621p4zp4fydh2"; }; - cargoSha256 = "1323lcl8fa21pgx3jhwl4w9f8qz3jjxb5qdvib9jdzqxnnw320xs"; + cargoSha256 = "0f7hmwrs99qdvhn4lvs8cqva68w2y04fy3ca1xlhk7ncdmclcc4g"; meta = with lib; { description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable"; diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix index 7db1ea7f374a9..9458cb030a7c8 100644 --- a/pkgs/development/tools/rust/cargo-c/default.nix +++ b/pkgs/development/tools/rust/cargo-c/default.nix @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "1rmhg9xhljgd5yq3xs0fzw1b0bgz7jfpf5mr2gviwqahl5vxvfiq"; + cargoSha256 = "0pxakfiidxfczh3harnjhb1zv340r812jxzwam8z2kyw3mkyhh8z"; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] diff --git a/pkgs/development/tools/rust/cargo-criterion/default.nix b/pkgs/development/tools/rust/cargo-criterion/default.nix index 664f3688eaf3e..38723bbf3c1ce 100644 --- a/pkgs/development/tools/rust/cargo-criterion/default.nix +++ b/pkgs/development/tools/rust/cargo-criterion/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-NiuK+PexfF2wmA8drqqkv/RQlVwYLT3q2QWvV0ghJwg="; }; - cargoSha256 = "sha256-A6Kkm/4MSAEJfehA6zSQJU+JwVIhKPcfMZCO9S6Zyx4="; + cargoSha256 = "sha256-5Z9Oz8jjyM3+cHAZ++thRDdNlb0Kj54Mg7JjF9JrLdw="; meta = with lib; { description = "Cargo extension for running Criterion.rs benchmarks"; diff --git a/pkgs/development/tools/rust/cargo-cross/default.nix b/pkgs/development/tools/rust/cargo-cross/default.nix index f7ce0283f6ff4..276d6e50eeed8 100644 --- a/pkgs/development/tools/rust/cargo-cross/default.nix +++ b/pkgs/development/tools/rust/cargo-cross/default.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256:1py5w4kf612x4qxi190ilsrx0zzwdzk9i47ppvqblska1s47qa2w"; }; - cargoSha256 = "sha256-3xSuTBcWRGn5HH7LnvwioeRWjehaPW1HCPjN5SUUVfo="; + cargoSha256 = "sha256-zk6cbN4iSHnyoeWupufVf2yQK6aq3S99uk9lqpjCw4c="; cargoPatches = [ (fetchpatch { diff --git a/pkgs/development/tools/rust/cargo-feature/default.nix b/pkgs/development/tools/rust/cargo-feature/default.nix index f3fc148f029c3..062cb9f027d6a 100644 --- a/pkgs/development/tools/rust/cargo-feature/default.nix +++ b/pkgs/development/tools/rust/cargo-feature/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0n5kzh756ghfs3cydlcn9mfvpgwy1cjg41h0nd9dbi5cr1fp9x1n"; }; - cargoSha256 = "0nvl5smibl81b826xcsrjx8p89lcfpj7wqdsvywnj7jd3p5ag03n"; + cargoSha256 = "1jh1h6v4mxx03b4diw9325ga0k3js0czs504lx07hvbx8yai1wkq"; buildInputs = lib.optional stdenv.isDarwin libiconv; diff --git a/pkgs/development/tools/rust/cargo-fund/default.nix b/pkgs/development/tools/rust/cargo-fund/default.nix index 70a2e6feca640..43655fd6a89e4 100644 --- a/pkgs/development/tools/rust/cargo-fund/default.nix +++ b/pkgs/development/tools/rust/cargo-fund/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1jim5bgq3fc33391qpa1q1csbzqf4hk1qyfzwxpcs5pb4ixb6vgk"; }; - cargoSha256 = "181gcmaw2w5a6ah8a2ahsnc1zkadpmx1azkwh2a6x8myhzw2dxsj"; + cargoSha256 = "1c2zryxn1bbg3ksp8azk9xmwfgwr6663hlmdv9c358hzqdfp9hli"; # The tests need a GitHub API token. doCheck = false; diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix index 3b2702c66f647..bd71a14b4a048 100644 --- a/pkgs/development/tools/rust/cargo-geiger/default.nix +++ b/pkgs/development/tools/rust/cargo-geiger/default.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1z920p8i3gkjadyd6bqjk4i5yr5ds3m3sbcnf7plcqr69dsjr4b8"; }; - cargoSha256 = "1zh6fjfynkn4kgk1chigzd0sh4x1bagizyn7x6qyxgzc57a49bp7"; + cargoSha256 = "1wf9758gyaxgyajjzy5phirg922n9wv0qmy67zjmxj56ayf0l9lm"; checkPhase = '' ${cargo-insta}/bin/cargo-insta test diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix index e4eb2965fd6f0..040109da3adbd 100644 --- a/pkgs/development/tools/rust/cargo-generate/default.nix +++ b/pkgs/development/tools/rust/cargo-generate/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-RrDwq5VufMDsPlqRmBP3x2RUWU740L0L18noByO1IDY="; }; - cargoSha256 = "sha256-W6+RGzCYJF9f44QaFDOI414/vCfKIuIOXoH+GYY0GwY="; + cargoSha256 = "sha256-/0pxEQFhovPRI4Knv5xq6+PHRuGN6+tF8CdK5X30LKI="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/rust/cargo-inspect/default.nix b/pkgs/development/tools/rust/cargo-inspect/default.nix index 9339660388b58..1644929074bba 100644 --- a/pkgs/development/tools/rust/cargo-inspect/default.nix +++ b/pkgs/development/tools/rust/cargo-inspect/default.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ Security ]; - cargoSha256 = "1ryi5qi1zz2yljyj4rn84q9zkzafc9w4nw3zc01hlzpnb1sjw5sw"; + cargoSha256 = "069i8ydrp1pssnjq7d6mydwr7xh2cmcpzpf8bzd6nfjr6xx1pipr"; meta = with lib; { description = "See what Rust is doing behind the curtains"; diff --git a/pkgs/development/tools/rust/cargo-play/default.nix b/pkgs/development/tools/rust/cargo-play/default.nix index 5e12c1cae1d22..f5faed06faf93 100644 --- a/pkgs/development/tools/rust/cargo-play/default.nix +++ b/pkgs/development/tools/rust/cargo-play/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "01r00akfmvpzp924yqqybd9s0pwiwxy8vklsg4m9ypzljc3nlv02"; }; - cargoSha256 = "0fvsdyivq5991ka6avh12aqdkjx0myk61kmzlr19p2vlfpg70q07"; + cargoSha256 = "1xkscd9ci9vlkmbsaxvavrna1xpi16xcf9ri879lw8bdh7sa3nx8"; # some tests require internet access doCheck = false; diff --git a/pkgs/development/tools/rust/cargo-readme/default.nix b/pkgs/development/tools/rust/cargo-readme/default.nix index 358c58bef4d42..fb45763b50be7 100644 --- a/pkgs/development/tools/rust/cargo-readme/default.nix +++ b/pkgs/development/tools/rust/cargo-readme/default.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-/ufHHM13L83M3UYi6mjdhIjgXx7bZgzvR/X02Zsx7Fw="; }; - cargoSha256 = "sha256-QVRl6xCvztWi5zAs3PXYR4saTqO5nTBPIjdlMiMXFTM="; + cargoSha256 = "sha256-Isd05qOuVBNfXOI5qsaDOhjF7QIKAG5xrZsBFK2PpQQ="; patches = [ (fetchpatch { diff --git a/pkgs/development/tools/rust/cargo-sweep/default.nix b/pkgs/development/tools/rust/cargo-sweep/default.nix index f20bdb9cc1742..537275c68f69b 100644 --- a/pkgs/development/tools/rust/cargo-sweep/default.nix +++ b/pkgs/development/tools/rust/cargo-sweep/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0zwdrh4z5x79qs8cwmwh3phzy4brw0ggv2qyf6pylv99vha5acyf"; }; - cargoSha256 = "1sxjc64g8h77a3dvzb99f1f72zrak1nh4jgfjfkw4yc4dhkpyrmz"; + cargoSha256 = "023gbq8izpbaxq1pdzs8428k24myd2b8gi9g4kl2hx79yciiscnz"; meta = with lib; { description = "A Cargo subcommand for cleaning up unused build files generated by Cargo"; diff --git a/pkgs/development/tools/rust/cargo-sync-readme/default.nix b/pkgs/development/tools/rust/cargo-sync-readme/default.nix index 54f21ab46270e..07c51c3163cbd 100644 --- a/pkgs/development/tools/rust/cargo-sync-readme/default.nix +++ b/pkgs/development/tools/rust/cargo-sync-readme/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1c38q87fyfmj6nlwdpavb1xxpi26ncywkgqcwbvblad15c6ydcyc"; }; - cargoSha256 = "1x15q6wv5278hm3ns2wmw4i8602g35y1jyv1b8wa5i4dnh52dj83"; + cargoSha256 = "0vrbgs49ghhl4z4ljhghcs9fnbf7qx1an9kwbrgv9wng8m1dccah"; meta = with lib; { description = "A cargo plugin that generates a Markdown section in your README based on your Rust documentation"; diff --git a/pkgs/development/tools/rust/cargo-valgrind/default.nix b/pkgs/development/tools/rust/cargo-valgrind/default.nix index 3cfea7274355b..e1f26dc02b2e6 100644 --- a/pkgs/development/tools/rust/cargo-valgrind/default.nix +++ b/pkgs/development/tools/rust/cargo-valgrind/default.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-PltYUU2O/D1PrU+K8JN4+aUVLzHCeNyIsXMU6HLodXE="; }; - cargoSha256 = "sha256-zR826fFSCSsJxGKSc7ugrLwMDvsjRBjs4eotKTfhGqI="; + cargoSha256 = "sha256-XiQGkZ6pfyGkNPjpcPoY66qBl7ABTcRHCBjgmXSRrL0="; passthru = { updateScript = nix-update-script { diff --git a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix index 34440ce93058b..7041f0ebd6cdf 100644 --- a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix +++ b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0vki37pxngg15za9c1z61dc6sqk0j59s0qhcf9hplnym4ib5kqx1"; }; - cargoSha256 = "sha256-nNV7UXjKZNFmTqW4H0qsNuBW9XOP2V9nfotewtI9mYE"; + cargoSha256 = "sha256-ZEkSj/JzXXTHjaxBVS5RDk/ECvOPPjzH4eS3CmlQA9I="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/rust/cargo-wipe/default.nix b/pkgs/development/tools/rust/cargo-wipe/default.nix index c4c079c523b12..a59a124317b94 100644 --- a/pkgs/development/tools/rust/cargo-wipe/default.nix +++ b/pkgs/development/tools/rust/cargo-wipe/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-sVekfGHg2wspP5/zJzXTXupspwJr4hQBucY5+8iUjUQ="; }; - cargoSha256 = "sha256-IzEurJcPoM/JMQlSL7N84wzZddNpynrsjQEOUNms2YQ="; + cargoSha256 = "sha256-EoXgsWg1Rh7C+fIqvefkLdck4Yj3kox2ZAU3kn6nH8Q="; passthru = { updateScript = nix-update-script { diff --git a/pkgs/development/tools/rust/cargo-xbuild/default.nix b/pkgs/development/tools/rust/cargo-xbuild/default.nix index 8aa701779bc0c..e8d62c9252f33 100644 --- a/pkgs/development/tools/rust/cargo-xbuild/default.nix +++ b/pkgs/development/tools/rust/cargo-xbuild/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "01whdjryz6zjsk4149h72w5xdjnkpcn5daf0xnsb59b0q38hjgg9"; }; - cargoSha256 = "1gcixzxca1yi4rvy55s986my6j0vx7n6fm1g5r4v4w0zgzlz4d89"; + cargoSha256 = "036a50shzl6wdjk5wypkacx1kjwbyb4x1aqhbzgjgpxxxrf0lj16"; meta = with lib; { description = "Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc"; diff --git a/pkgs/development/tools/rust/crate2nix/default.nix b/pkgs/development/tools/rust/crate2nix/default.nix index b5a3486da71f8..e68eea50ff3df 100644 --- a/pkgs/development/tools/rust/crate2nix/default.nix +++ b/pkgs/development/tools/rust/crate2nix/default.nix @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { sourceRoot = "source/crate2nix"; - cargoSha256 = "sha256-6V0ifH63/s5XLo4BCexPtvlUH0UQPHFW8YHF8OCH3ik="; + cargoSha256 = "sha256-shWhzCaH8ZttUcq82tA7T1hwNl6F1XJy7ansA5lt+Mw="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix index 33d6721610e92..6ffa49aa6b9f6 100644 --- a/pkgs/development/tools/rust/racerd/default.nix +++ b/pkgs/development/tools/rust/racerd/default.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { }) ]; - cargoSha256 = "1z0dh2j9ik66i6nww3z7z2gw7nhc0b061zxbjzamk1jybpc845lq"; + cargoSha256 = "08zn65c5ivhn2qs02aiixyqwhywrw8kfvs0kgzxdzsipic47n2qq"; # a nightly compiler is required unless we use this cheat code. RUSTC_BOOTSTRAP=1; diff --git a/pkgs/development/tools/so/default.nix b/pkgs/development/tools/so/default.nix index cd52f319bb94a..e7324ff7c5b97 100644 --- a/pkgs/development/tools/so/default.nix +++ b/pkgs/development/tools/so/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-WAUPB4hhvroE1/8nQcgLVWgGyXcFh7qxdFg6UtQzM9A="; }; - cargoSha256 = "sha256-wt6ClN9fpEAETk3kYeQRieTXnZQe4JEnQiA8CG4ZLog="; + cargoSha256 = "sha256-aaIzGvf+PvH8nz2BSJapi1P5gSVfXT92X62FqJ1Z2L0="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ diff --git a/pkgs/development/tools/the-way/default.nix b/pkgs/development/tools/the-way/default.nix index 6d7fbef2f19b7..65c889aee8320 100644 --- a/pkgs/development/tools/the-way/default.nix +++ b/pkgs/development/tools/the-way/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ AppKit Security ]; - cargoSha256 = "sha256-jTZso61Lyt6jprBxBAhvchgOsgM9y1qBleTxUx1jCnE="; + cargoSha256 = "sha256-sULjd+weixTQYFIQlluPwY4MFlZ1+vMMoMn4GP79oQs="; checkFlagsArray = lib.optionals stdenv.isDarwin [ "--skip=copy" ]; dontUseCargoParallelTests = true; diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix index 9284e1df45471..e8a7392ff3b1a 100644 --- a/pkgs/development/tools/trunk/default.nix +++ b/pkgs/development/tools/trunk/default.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { then [ libiconv CoreServices Security ] else [ openssl ]; - cargoSha256 = "Qv7knTmNYtw0tbyWhFIV7tYkQiwFxcNPAeNiGCyeV8s="; + cargoSha256 = "sha256-0ehz0ETNA2gOvTJUu8uq5H+bv4VXOJMq6AA8kn65m/Q="; meta = with lib; { homepage = "https://github.com/thedodd/trunk"; diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix index e566d4cb1c97a..a52f7b6550c1e 100644 --- a/pkgs/development/tools/wasm-bindgen-cli/default.nix +++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix @@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ]; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "sha256-2UBCcA4eBrSHrJjJdDprsysiOObg2GrC7QtveAydbhk="; + cargoSha256 = "sha256-GUdoOms4FrNmPkELFX1PXcU/ww7CSN8JGHoCvnm73PQ="; cargoBuildFlags = [ "-p" pname ]; meta = with lib; { diff --git a/pkgs/development/tools/wasm-pack/default.nix b/pkgs/development/tools/wasm-pack/default.nix index 9c6d3ed8cb896..5905189551215 100644 --- a/pkgs/development/tools/wasm-pack/default.nix +++ b/pkgs/development/tools/wasm-pack/default.nix @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec { ./update-deps.patch ]; - cargoSha256 = "0br7r8wz3knzgl3gjpq6z8w33my0yiaq711s1wih9jizhia02y5r"; + cargoSha256 = "130gqvzpyr055xkqcy1r0y7l5k2dcv7n9zgr4ja7dm7iayzbwwi1"; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/xcbuild/platforms.nix b/pkgs/development/tools/xcbuild/platforms.nix index e20dc878b535b..0108ac8ef6973 100644 --- a/pkgs/development/tools/xcbuild/platforms.nix +++ b/pkgs/development/tools/xcbuild/platforms.nix @@ -1,4 +1,4 @@ -{ runCommand, lib, sdks, xcodePlatform, writeText }: +{ stdenv, runCommand, lib, sdks, xcodePlatform, writeText }: let @@ -15,23 +15,23 @@ let }; # These files are all based off of Xcode spec fies found in - # /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Speciications/. + # /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/PrivatePlugIns/IDEOSXSupportCore.ideplugin/Contents/Resources. - # Based off of the MacOSX Architectures.xcpsec file. All i386 stuff - # is removed because NixPkgs only supports darwin-x86_64. + # Based off of the "MacOSX Architectures.xcspec" file. All i386 stuff + # is removed because NixPkgs only supports darwin-x86_64 and darwin-arm64. Architectures = [ { Identifier = "Standard"; Type = "Architecture"; - Name = "Standard Architectures (64-bit Intel)"; - RealArchitectures = [ "x86_64" ]; + Name = "Standard Architectures (Apple Silicon, 64-bit Intel)"; + RealArchitectures = [ "arm64" "x86_64" ]; ArchitectureSetting = "ARCHS_STANDARD"; } { Identifier = "Universal"; Type = "Architecture"; - Name = "Universal (64-bit Intel)"; - RealArchitectures = [ "x86_64" ]; + Name = "Universal (Apple Silicon, 64-bit Intel)"; + RealArchitectures = [ "arm64" "x86_64" ]; ArchitectureSetting = "ARCHS_STANDARD_32_64_BIT"; } { @@ -43,25 +43,25 @@ let { Identifier = "Standard64bit"; Type = "Architecture"; - Name = "64-bit Intel"; - RealArchitectures = [ "x86_64" ]; + Name = "Apple Silicon, 64-bit Intel"; + RealArchitectures = [ "arm64" "x86_64" ]; ArchitectureSetting = "ARCHS_STANDARD_64_BIT"; } { - Identifier = "x86_64"; + Identifier = if stdenv.isAarch64 then "arm64" else "x86_64"; Type = "Architecture"; - Name = "Intel 64-bit"; + Name = "Apple Silicon or Intel 64-bit"; } { Identifier = "Standard_Including_64_bit"; Type = "Architecture"; Name = "Standard Architectures (including 64-bit)"; - RealArchitectures = [ "x86_64" ]; + RealArchitectures = [ "arm64" "x86_64" ]; ArchitectureSetting = "ARCHS_STANDARD_INCLUDING_64_BIT"; } ]; - # Based off of the MacOSX Package Types.xcpsec file. Only keep the + # Based off of the "MacOSX Package Types.xcspec" file. Only keep the # bare minimum needed. PackageTypes = [ { @@ -169,7 +169,7 @@ let } ]; - # Based off of the MacOSX Product Types.xcpsec file. All + # Based off of the "MacOSX Product Types.xcspec" file. All # bundles/wrapper are removed, because we prefer dynamic products in # NixPkgs. ProductTypes = [ diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix index 4f74b093717bf..ca69bbe907df5 100644 --- a/pkgs/development/tools/xcbuild/wrapper.nix +++ b/pkgs/development/tools/xcbuild/wrapper.nix @@ -28,7 +28,7 @@ let }; platforms = callPackage ./platforms.nix { - inherit sdks xcodePlatform; + inherit sdks xcodePlatform stdenv; }; xcconfig = writeText "nix.xcconfig" '' diff --git a/pkgs/development/web/twitter-bootstrap/default.nix b/pkgs/development/web/twitter-bootstrap/default.nix index b8a7e6a4b8f8c..65625ca7d21fc 100644 --- a/pkgs/development/web/twitter-bootstrap/default.nix +++ b/pkgs/development/web/twitter-bootstrap/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "bootstrap"; - version = "5.0.0"; + version = "5.0.1"; src = fetchurl { url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip"; - sha256 = "sha256-CsPvq8exUL2k/b/QK9c2S68DIsDDR8qxho0WgDJ3/Vs="; + sha256 = "sha256-eep9s1YxTHeDDh+WhDMENho/N3AfJHVitis22bIGa6w="; }; nativeBuildInputs = [ unzip ]; |