From ff6eb9293739279c81f1e8e73c058ff6bcd4ed0e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 2 Apr 2022 03:40:07 +0000 Subject: [PATCH 01/84] libbsd: 0.11.5 -> 0.11.6 --- pkgs/development/libraries/libbsd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix index 8c8e47b98a4d..b8f6aac0b388 100644 --- a/pkgs/development/libraries/libbsd/default.nix +++ b/pkgs/development/libraries/libbsd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libbsd"; - version = "0.11.5"; + version = "0.11.6"; src = fetchurl { url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "sha256-GpyVJSVjXBu2dwyyLpabk42Oap15EjYrmO6DcFmbDv0="; + sha256 = "sha256-GbOPMXLq9pPm4caHFGNhkMfkiFHkUiTXILO1vASZtd8="; }; outputs = [ "out" "dev" "man" ]; From 266b01d1d421844a42571dc9b09ca27c28c211d9 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Thu, 3 Mar 2022 00:57:05 -0800 Subject: [PATCH 02/84] SPIRV-LLVM-Translator: Build and install llvm-spirv tool This will make ${self.spirv-llvm-translator}/bin/llvm-spirv available. As of llvmorg-12.0.0, libclc can now build SPIR-V based libraries, but requires the llvm-spirv build tool for this. Ref: https://github.com/llvm/llvm-project/blob/llvmorg-12.0.0/libclc/CMakeLists.txt#L98 Signed-off-by: Jordan Justen --- .../development/compilers/spirv-llvm-translator/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 0dff7f0e1b09..7c37c4789f4b 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -30,6 +30,12 @@ stdenv.mkDerivation rec { # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist doCheck = false; + makeFlags = [ "all" "llvm-spirv" ]; + + postInstall = '' + install -D tools/llvm-spirv/llvm-spirv $out/bin/llvm-spirv + ''; + meta = with lib; { homepage = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator"; description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR"; From 155dbcfc81ab2cd7242e143958ea890f5e262ed3 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Thu, 3 Mar 2022 01:18:17 -0800 Subject: [PATCH 03/84] libclc: 11.0.1 -> 12.0.1 As part of the upgrade to 12.0.1, now 2 SPIR-V libraries will now be made available: * spirv64-mesa3d-.spv * spirv-mesa3d-.spv Signed-off-by: Jordan Justen --- pkgs/development/libraries/libclc/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix index c634892944ca..3f6e12291a39 100644 --- a/pkgs/development/libraries/libclc/default.nix +++ b/pkgs/development/libraries/libclc/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages }: +{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages, spirv-llvm-translator }: let llvm = llvmPackages.llvm; @@ -7,13 +7,13 @@ in stdenv.mkDerivation rec { pname = "libclc"; - version = "11.0.1"; + version = "12.0.1"; src = fetchFromGitHub { owner = "llvm"; repo = "llvm-project"; rev = "llvmorg-${version}"; - sha256 = "0bxh43hp1vl4axl3s9n2nb2ii8x1cbq98xz9c996f8rl5jy84ags"; + sha256 = "08s5w2db9imb2yaqsvxs6pg21csi1cf6wa35rf8x6q07mam7j8qv"; }; sourceRoot = "source/libclc"; @@ -21,10 +21,12 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace CMakeLists.txt \ --replace 'find_program( LLVM_CLANG clang PATHS ''${LLVM_BINDIR} NO_DEFAULT_PATH )' \ - 'find_program( LLVM_CLANG clang PATHS "${clang-unwrapped}/bin" NO_DEFAULT_PATH )' + 'find_program( LLVM_CLANG clang PATHS "${clang-unwrapped}/bin" NO_DEFAULT_PATH )' \ + --replace 'find_program( LLVM_SPIRV llvm-spirv PATHS ''${LLVM_BINDIR} NO_DEFAULT_PATH )' \ + 'find_program( LLVM_SPIRV llvm-spirv PATHS "${spirv-llvm-translator}/bin" NO_DEFAULT_PATH )' ''; - nativeBuildInputs = [ cmake ninja python3 ]; + nativeBuildInputs = [ cmake ninja python3 spirv-llvm-translator ]; buildInputs = [ llvm clang-unwrapped ]; strictDeps = true; cmakeFlags = [ From a7f9bb67da1f4090a50ba0445fdb05f43e233bc7 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 16:21:09 +0300 Subject: [PATCH 04/84] audit: enable strictDeps checked with diffoscope --- pkgs/os-specific/linux/audit/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix index 6d14a3293fca..bda8d8ab30c5 100644 --- a/pkgs/os-specific/linux/audit/default.nix +++ b/pkgs/os-specific/linux/audit/default.nix @@ -2,7 +2,7 @@ lib, stdenv, buildPackages, fetchurl, fetchpatch, runCommand, autoreconfHook, - autoconf, automake, libtool, + autoconf, automake, libtool, bash, # Enabling python support while cross compiling would be possible, but # the configure script tries executing python to gather info instead of # relying on python3-config exclusively @@ -21,9 +21,11 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "man" ]; + strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = lib.optionals enablePython [ python3 swig ]; + nativeBuildInputs = [ autoreconfHook ] + ++ lib.optionals enablePython [ python3 swig ]; + buildInputs = [ bash ]; configureFlags = [ # z/OS plugin is not useful on Linux, From 44370b355e5ea046bf3727b9e90db6428e10ea2a Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Sat, 23 Apr 2022 12:44:50 +0200 Subject: [PATCH 05/84] bluez: install gatttool too --- pkgs/os-specific/linux/bluez/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 1f6fb31d93db..d4d23220d290 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -126,6 +126,7 @@ in stdenv.mkDerivation rec { filename=$(basename $files) install -Dm755 tools/$filename $out/bin/$filename done + install -Dm755 attrib/gatttool $out/bin/gatttool ''; enableParallelBuilding = true; From c96b21c78be0c5f954ac7fc218c5fadb683656dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 26 Apr 2022 14:48:52 +0200 Subject: [PATCH 06/84] libpcap: move dev things to extra output --- pkgs/development/libraries/libpcap/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index f3d3587c14fa..dbf494374cbb 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -6,6 +6,8 @@ stdenv.mkDerivation rec { pname = "libpcap"; version = "1.10.1"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; sha256 = "sha256-7ShfSsyvBTRPkJdXV7Pb/ncrpB0cQBwmSLf6RbcRvdQ="; @@ -27,6 +29,8 @@ stdenv.mkDerivation rec { if [ "$dontDisableStatic" -ne "1" ]; then rm -f $out/lib/libpcap.a fi + + moveToOutput "bin/pcap-config" "$dev" ''; meta = { From 99dd6e952f99e91e9b8526855ebaf790fdbde37c Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 27 Apr 2022 18:35:48 +0200 Subject: [PATCH 07/84] python3Packages.sqlalchemy: 1.4.35 -> 1.4.36 https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_1_4_36 --- pkgs/development/python-modules/sqlalchemy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index b6e800a7ed3d..0bed203007c1 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "SQLAlchemy"; - version = "1.4.35"; + version = "1.4.36"; src = fetchPypi { inherit pname version; - hash = "sha256-L/yBOwHcZHOZD15XXyEMpawvVGWs45CLeP/W0gBYqrU="; + hash = "sha256-ZGeKwyHWSkWQHvLiRyXsXng/H0pYgwXhlkMUR+es4kM="; }; propagatedBuildInputs = [ From 784ea32182571783f40163739edd00db8ec401ea Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 21:40:05 +0300 Subject: [PATCH 08/84] gst_all_1.gstreamer: enable strictDeps and fix cross checked with diffoscope --- .../libraries/gstreamer/core/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index dcb4fcaef93f..c5f836f26a46 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -4,7 +4,6 @@ , ninja , pkg-config , gettext -, gobject-introspection , bison , flex , python3 @@ -17,6 +16,8 @@ , bash-completion , lib , CoreServices +, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform +, gobject-introspection }: stdenv.mkDerivation rec { @@ -37,6 +38,7 @@ stdenv.mkDerivation rec { sha256 = "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy"; }; + strictDeps = true; nativeBuildInputs = [ meson ninja @@ -47,11 +49,14 @@ stdenv.mkDerivation rec { python3 makeWrapper glib - gobject-introspection bash-completion # documentation # TODO add hotdoc here + ] ++ lib.optionals stdenv.isLinux [ + libcap # for setcap binary + ] ++ lib.optionals withIntrospection [ + gobject-introspection ]; buildInputs = [ @@ -60,6 +65,8 @@ stdenv.mkDerivation rec { libcap libunwind elfutils + ] ++ lib.optionals withIntrospection [ + gobject-introspection ] ++ lib.optionals stdenv.isDarwin [ CoreServices ]; @@ -72,8 +79,7 @@ stdenv.mkDerivation rec { "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those "-Dexamples=disabled" # requires many dependencies and probably not useful for our users "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-Dintrospection=disabled" + "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" ] ++ lib.optionals stdenv.isDarwin [ # darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it. "-Dlibunwind=disabled" From faef08342601b39b87fc2aa6d90557fba6249a25 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 22:08:21 +0300 Subject: [PATCH 09/84] libical: enable strictDeps and fix cross checked with diffoscope --- pkgs/development/libraries/libical/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index 77c595c9184a..02c02b607e5c 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -13,7 +13,7 @@ , python3 , tzdata , fixDarwinDylibNames -, introspectionSupport ? stdenv.buildPlatform == stdenv.hostPlatform +, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform , gobject-introspection , vala }: @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-gZ6IBjG5pNKJ+hWcTzXMP7yxL4he4LTklZGoC9vXra8="; }; + strictDeps = true; nativeBuildInputs = [ cmake ninja @@ -43,7 +44,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # provides ical-glib-src-generator that runs during build libical - ] ++ lib.optionals introspectionSupport [ + ] ++ lib.optionals withIntrospection [ gobject-introspection vala ] ++ lib.optionals stdenv.isDarwin [ @@ -60,13 +61,14 @@ stdenv.mkDerivation rec { glib libxml2 icu + ] ++ lib.optionals withIntrospection [ + gobject-introspection ]; cmakeFlags = [ "-DENABLE_GTK_DOC=False" - ] ++ lib.optionals introspectionSupport [ - "-DGOBJECT_INTROSPECTION=True" - "-DICAL_GLIB_VAPI=True" + "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" + "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" ]; From 8473cb3a2a108c3c089845e8164266943363fc51 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 22:53:15 +0300 Subject: [PATCH 10/84] gst_all_1.base: fix strictDeps --- .../libraries/gstreamer/base/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index a6942445fc5f..599e6586ea03 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -5,7 +5,6 @@ , meson , ninja , gettext -, gobject-introspection , python3 , gstreamer , orc @@ -37,6 +36,8 @@ , enableCdparanoia ? (!stdenv.isDarwin) , cdparanoia , glib +, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform +, gobject-introspection }: stdenv.mkDerivation rec { @@ -50,6 +51,7 @@ stdenv.mkDerivation rec { sha256 = "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n"; }; + strictDeps = true; nativeBuildInputs = [ meson ninja @@ -58,10 +60,11 @@ stdenv.mkDerivation rec { gettext orc glib - gobject-introspection - + gstreamer # docs # TODO add hotdoc here + ] ++ lib.optionals withIntrospection [ + gobject-introspection ] ++ lib.optional enableWayland wayland; buildInputs = [ @@ -88,6 +91,8 @@ stdenv.mkDerivation rec { ] ++ lib.optionals enableWayland [ wayland wayland-protocols + ] ++ lib.optionals withIntrospection [ + gobject-introspection ] ++ lib.optional enableCocoa Cocoa ++ lib.optional enableCdparanoia cdparanoia; @@ -101,8 +106,8 @@ stdenv.mkDerivation rec { "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}" + "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-Dintrospection=disabled" "-Dtests=disabled" ] ++ lib.optional (!enableX11) "-Dx11=disabled" From 5e2a1ebdc4e000bc6e1316ab81c38a87a8ed417a Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 28 Apr 2022 20:37:15 +0100 Subject: [PATCH 11/84] elfutils: 0.186 -> 0.187 Added trivial updater. Dropped unneeded -Werror workaround (`pkgsMusl.elfutils` builds successfully now). changelog: https://sourceware.org/git/?p=elfutils.git;a=blob_plain;f=NEWS;hb=HEAD --- pkgs/development/tools/misc/elfutils/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index adee94dafa91..cd673ec06b41 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -2,16 +2,17 @@ , musl-obstack, m4, zlib, zstd, bzip2, bison, flex, gettext, xz, setupDebugInfoDirs , argp-standalone , enableDebuginfod ? false, sqlite, curl, libmicrohttpd_0_9_70, libarchive +, gitUpdater }: # TODO: Look at the hardcoded paths to kernel, modules etc. stdenv.mkDerivation rec { pname = "elfutils"; - version = "0.186"; + version = "0.187"; src = fetchurl { url = "https://sourceware.org/elfutils/ftp/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-f2+5FJsWc9ONkXig0+D7ih7E9TqfTC/4lGlgmHlkEXc="; + sha256 = "sha256-5wsN++YQ+QxNH+DXGvFCpOJcPE7566uNLXK2UVnUVMg="; }; patches = [ @@ -62,10 +63,6 @@ stdenv.mkDerivation rec { propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; - NIX_CFLAGS_COMPILE = lib.optionals stdenv.hostPlatform.isMusl [ - "-Wno-null-dereference" - ]; - configureFlags = [ "--program-prefix=eu-" # prevent collisions with binutils "--enable-deterministic-archives" @@ -81,6 +78,12 @@ stdenv.mkDerivation rec { doCheck = !stdenv.hostPlatform.isMusl; doInstallCheck = !stdenv.hostPlatform.isMusl; + passthru.updateScript = gitUpdater { + inherit pname version; + url = "https://sourceware.org/git/elfutils.git"; + rev-prefix = "elfutils-"; + }; + meta = with lib; { homepage = "https://sourceware.org/elfutils/"; description = "A set of utilities to handle ELF objects"; From 99786f9a57a2a9a0ac680550af645dfcdbc7da29 Mon Sep 17 00:00:00 2001 From: "Berk D. Demir" Date: Sun, 1 May 2022 23:15:08 +0000 Subject: [PATCH 12/84] go-modules/packages: Improve `checkFlags` handling - Fix handling of `checkFlags` derivation attribute when it's a list of two or more elements. - Improve the readability go `buildGoDir` function with flag array building and "test" command conditional. - Bash style: Single line local assignment of positional parameters. --- .../go-modules/generic/default.nix | 20 ++++++++++++++----- .../go-packages/generic/default.nix | 20 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index 502a981596e7..7493eac59dcc 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -181,12 +181,22 @@ let exclude+='\)' buildGoDir() { - local d; local cmd; - cmd="$1" - d="$2" + local cmd="$1" dir="$2" + . $TMPDIR/buildFlagsArray + + declare -a flags + flags+=($buildFlags "''${buildFlagsArray[@]}") + flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) + flags+=(''${ldflags:+-ldflags="$ldflags"}) + flags+=("-v" "-p" "$NIX_BUILD_CORES") + + if [ "$cmd" = "test" ]; then + flags+=($checkFlags) + fi + local OUT - if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then + if ! OUT="$(go $cmd "''${flags[@]}" $dir 2>&1)"; then if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then echo "$OUT" >&2 return 1 @@ -244,7 +254,7 @@ let runHook preCheck for pkg in $(getGoDirs test); do - buildGoDir test $checkFlags "$pkg" + buildGoDir test "$pkg" done runHook postCheck diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix index 0559f7f07a7c..643c1955d2b0 100644 --- a/pkgs/development/go-packages/generic/default.nix +++ b/pkgs/development/go-packages/generic/default.nix @@ -160,12 +160,22 @@ let exclude+='\)' buildGoDir() { - local d; local cmd; - cmd="$1" - d="$2" + local cmd="$1" dir="$2" + . $TMPDIR/buildFlagsArray + + declare -a flags + flags+=($buildFlags "''${buildFlagsArray[@]}") + flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) + flags+=(''${ldflags:+-ldflags="$ldflags"}) + flags+=("-v" "-p" "$NIX_BUILD_CORES") + + if [ "$cmd" = "test" ]; then + flags+=($checkFlags) + fi + local OUT - if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then + if ! OUT="$(go $cmd "''${flags[@]}" $dir 2>&1)"; then if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then echo "$OUT" >&2 return 1 @@ -225,7 +235,7 @@ let runHook preCheck for pkg in $(getGoDirs test); do - buildGoDir test $checkFlags "$pkg" + buildGoDir test "$pkg" done runHook postCheck From 3c7466715aa2ed6be4cc17519ab065bb659f28b5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Mar 2022 12:46:22 +0100 Subject: [PATCH 13/84] python3Packages.cachecontrol: enable filecache --- pkgs/development/python-modules/cachecontrol/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cachecontrol/default.nix b/pkgs/development/python-modules/cachecontrol/default.nix index d074183e79d7..bee126fbf167 100644 --- a/pkgs/development/python-modules/cachecontrol/default.nix +++ b/pkgs/development/python-modules/cachecontrol/default.nix @@ -21,10 +21,11 @@ buildPythonPackage rec { owner = "ionrock"; repo = pname; rev = "v${version}"; - sha256 = "sha256-mgvL0q10UbPHY1H3tJprke5p8qNl3HNYoeLAERZTcTs="; + hash = "sha256-mgvL0q10UbPHY1H3tJprke5p8qNl3HNYoeLAERZTcTs="; }; propagatedBuildInputs = [ + lockfile msgpack requests ]; @@ -32,7 +33,6 @@ buildPythonPackage rec { checkInputs = [ cherrypy mock - lockfile pytestCheckHook ]; From de6f14d3d855d331c8516d12b7288aa0ddcb27f3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Mar 2022 12:51:30 +0100 Subject: [PATCH 14/84] python3Packages.pretend: enable tests --- .../python-modules/pretend/default.nix | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pretend/default.nix b/pkgs/development/python-modules/pretend/default.nix index 87e0e6613b1d..0134b0dc36a4 100644 --- a/pkgs/development/python-modules/pretend/default.nix +++ b/pkgs/development/python-modules/pretend/default.nix @@ -1,19 +1,36 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { pname = "pretend"; version = "1.0.9"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "alex"; + repo = pname; + rev = "v${version}"; + hash = "sha256-OqMfeIMFNBBLq6ejR3uOCIHZ9aA4zew7iefVlAsy1JQ="; }; - # No tests in archive - doCheck = false; + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pretend" + ]; meta = with lib; { + description = "Module for stubbing"; homepage = "https://github.com/alex/pretend"; license = licenses.bsd3; + maintainers = with maintainers; [ ]; }; } From b897629a2c60dd602eaff6b02640d6aeec52e8e4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 28 Mar 2022 13:31:50 +0200 Subject: [PATCH 15/84] python3Packages.pip-api: init at 0.0.28 --- .../python-modules/pip-api/default.nix | 52 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/development/python-modules/pip-api/default.nix diff --git a/pkgs/development/python-modules/pip-api/default.nix b/pkgs/development/python-modules/pip-api/default.nix new file mode 100644 index 000000000000..daf808e44988 --- /dev/null +++ b/pkgs/development/python-modules/pip-api/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pip +, pretend +, pytestCheckHook +, pythonOlder +, virtualenv +}: + +buildPythonPackage rec { + pname = "pip-api"; + version = "0.0.28"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-yqu2l/QKLPpnJkBae5DI/ReU7DnqOD+lMTs/8O6I8AE="; + }; + + propagatedBuildInputs = [ + pip + ]; + + checkInputs = [ + pretend + pytestCheckHook + virtualenv + ]; + + pythonImportsCheck = [ + "pip_api" + ]; + + disabledTests = [ + "test_hash" + "test_hash_default_algorithm_is_256" + "test_installed_distributions" + "test_invoke_install" + "test_invoke_uninstall" + "test_isolation" + ]; + + meta = with lib; { + description = "Importable pip API"; + homepage = "https://github.com/di/pip-api"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3a9f5f4faa14..ab79d7f4b713 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6313,6 +6313,8 @@ in { pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { }; + pip-api = callPackage ../development/python-modules/pip-api { }; + pip-tools = callPackage ../development/python-modules/pip-tools { }; pipx = callPackage ../development/python-modules/pipx { }; From 86e49c7114f4832cc74c59d61eedfa7a9c008a5f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 28 Mar 2022 13:32:04 +0200 Subject: [PATCH 16/84] pip-audit: init at 2.0.0 --- pkgs/development/tools/pip-audit/default.nix | 75 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 77 insertions(+) create mode 100644 pkgs/development/tools/pip-audit/default.nix diff --git a/pkgs/development/tools/pip-audit/default.nix b/pkgs/development/tools/pip-audit/default.nix new file mode 100644 index 000000000000..f8dd0d94806d --- /dev/null +++ b/pkgs/development/tools/pip-audit/default.nix @@ -0,0 +1,75 @@ +{ lib +, fetchFromGitHub +, fetchpatch +, python3 +}: + +let + py = python3.override { + packageOverrides = self: super: { + + # ansible doesn't support resolvelib > 0.6.0 and can't have an override + resolvelib = super.resolvelib.overridePythonAttrs (oldAttrs: rec { + version = "0.8.1"; + src = fetchFromGitHub { + owner = "sarugaku"; + repo = "resolvelib"; + rev = version; + sha256 = "1qpd0gg9yl0kbamlgjs9pkxd39kx511kbc92civ77v0ka5sw8ca0"; + }; + }); + }; + }; +in +with py.pkgs; + +buildPythonApplication rec { + pname = "pip-audit"; + version = "2.0.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "trailofbits"; + repo = pname; + rev = "v${version}"; + hash = "sha256-JHRUYugptbsbqyXy5IxBVQq1NNbTR1xdt791ZQ2jP7s="; + }; + + propagatedBuildInputs = [ + cachecontrol + cyclonedx-python-lib + html5lib + packaging + pip-api + progress + resolvelib + ]; + + checkInputs = [ + pretend + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pip_audit" + ]; + + disabledTestPaths = [ + "test/dependency_source/test_requirement.py" + "test/dependency_source/test_resolvelib.py" + "test/service/test_pypi.py" + "test/service/test_osv.py" + ]; + + disabledTests = [ + "test_get_pip_cache" + "test_virtual_env" + ]; + + meta = with lib; { + description = "Tool for scanning Python environments for known vulnerabilities"; + homepage = "https://github.com/trailofbits/pip-audit"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1b754a6a5905..f3976591ef6f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14433,6 +14433,8 @@ with pkgs; poetry2conda = python3Packages.callPackage ../development/python-modules/poetry2conda { }; + pip-audit = callPackage ../development/tools/pip-audit {}; + pipenv = callPackage ../development/tools/pipenv {}; pipewire = callPackage ../development/libraries/pipewire { From d759e894b2949ca7b8cdf0bb666e6f36d95a4f8f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 2 May 2022 09:22:50 +0200 Subject: [PATCH 17/84] python310Packages.pip-api: 0.0.28 -> 0.0.29 --- pkgs/development/python-modules/pip-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pip-api/default.nix b/pkgs/development/python-modules/pip-api/default.nix index daf808e44988..5e4412dcf857 100644 --- a/pkgs/development/python-modules/pip-api/default.nix +++ b/pkgs/development/python-modules/pip-api/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pip-api"; - version = "0.0.28"; + version = "0.0.29"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-yqu2l/QKLPpnJkBae5DI/ReU7DnqOD+lMTs/8O6I8AE="; + hash = "sha256-9wFYTrHD4BAhyEb4nWKauTc7ZiTwYmdXd0rVT8TClXE="; }; propagatedBuildInputs = [ From 1d17d14cb72c8a3d122827c53f6d30bd9e490314 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 3 May 2022 08:04:50 +0200 Subject: [PATCH 18/84] pip-audit: 2.0.0 -> 2.2.1 --- pkgs/development/tools/pip-audit/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/pip-audit/default.nix b/pkgs/development/tools/pip-audit/default.nix index f8dd0d94806d..8f700761d163 100644 --- a/pkgs/development/tools/pip-audit/default.nix +++ b/pkgs/development/tools/pip-audit/default.nix @@ -25,14 +25,14 @@ with py.pkgs; buildPythonApplication rec { pname = "pip-audit"; - version = "2.0.0"; + version = "2.2.1"; format = "setuptools"; src = fetchFromGitHub { owner = "trailofbits"; repo = pname; rev = "v${version}"; - hash = "sha256-JHRUYugptbsbqyXy5IxBVQq1NNbTR1xdt791ZQ2jP7s="; + hash = "sha256-ji61783imVlvoBaDMTxQwbf1L1G4lJbOFZ1FjcNOT/8="; }; propagatedBuildInputs = [ @@ -54,7 +54,12 @@ buildPythonApplication rec { "pip_audit" ]; + preCheck = '' + export HOME=$(mktemp -d); + ''; + disabledTestPaths = [ + # Tests require network access "test/dependency_source/test_requirement.py" "test/dependency_source/test_resolvelib.py" "test/service/test_pypi.py" @@ -62,8 +67,11 @@ buildPythonApplication rec { ]; disabledTests = [ + # Tests requrire network access "test_get_pip_cache" "test_virtual_env" + "test_pyproject_source" + "test_pyproject_source_duplicate_deps" ]; meta = with lib; { From 96ed54cfce2bedfb4551ea4d33cc2ce507998c9f Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 5 Feb 2022 01:11:15 +0100 Subject: [PATCH 19/84] lzip: 1.22 -> 1.23, split output --- pkgs/tools/compression/lzip/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix index 17abb6503c9b..7fa7b4e35c85 100644 --- a/pkgs/tools/compression/lzip/default.nix +++ b/pkgs/tools/compression/lzip/default.nix @@ -7,13 +7,14 @@ stdenv.mkDerivation rec { pname = "lzip"; - version = "1.22"; + version = "1.23"; + outputs = [ "out" "man" "info" ]; nativeBuildInputs = [ texinfo ]; src = fetchurl { url = "mirror://savannah/lzip/${pname}-${version}.tar.gz"; - sha256 = "sha256-wzQtQuZxOcFluLEo0DO1yWiToTrF8lkzGQMVIU6HqUg="; + sha256 = "sha256-R5LAR93xXvKdVbqOaKGiHgy3aS2H7N9yBEGYZFgvKA0="; }; configureFlags = [ From 77c177ebe197a9de3d2a397997d70fa13d12aab4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 22 Apr 2022 16:25:25 +0000 Subject: [PATCH 20/84] fribidi: 1.0.11 -> 1.0.12 --- pkgs/development/libraries/fribidi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix index 3549368fecbc..3dae39b3c38a 100644 --- a/pkgs/development/libraries/fribidi/default.nix +++ b/pkgs/development/libraries/fribidi/default.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation rec { pname = "fribidi"; - version = "1.0.11"; + version = "1.0.12"; outputs = [ "out" "devdoc" ]; # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. src = fetchurl { url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-MPk+nGPuYn0aLO3PWaw01FvzAkCYL5nkTG4BVGa05z0="; + sha256 = "sha256-DNIz+X/IxnuzrCfOhEDe9dP/rPUWdluRwsxlRJgpNJU="; }; postPatch = '' From 90157969cf10699f9a65077fb709b8935b2612f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 May 2022 19:06:43 +0200 Subject: [PATCH 21/84] python310Packages.pygments: adopt, enable tests --- .../python-modules/Pygments/default.nix | 28 ----------- .../python-modules/pygments/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 +- 3 files changed, 47 insertions(+), 29 deletions(-) delete mode 100644 pkgs/development/python-modules/Pygments/default.nix create mode 100644 pkgs/development/python-modules/pygments/default.nix diff --git a/pkgs/development/python-modules/Pygments/default.nix b/pkgs/development/python-modules/Pygments/default.nix deleted file mode 100644 index af125e1f40ef..000000000000 --- a/pkgs/development/python-modules/Pygments/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, docutils -}: - -buildPythonPackage rec { - pname = "Pygments"; - version = "2.11.2"; - - src = fetchPypi { - inherit pname version; - sha256 = "4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"; - }; - - propagatedBuildInputs = [ docutils ]; - - # Circular dependency with sphinx - doCheck = false; - pythonImportsCheck = [ "pygments" ]; - - meta = { - homepage = "https://pygments.org/"; - description = "A generic syntax highlighter"; - license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ ]; - }; -} diff --git a/pkgs/development/python-modules/pygments/default.nix b/pkgs/development/python-modules/pygments/default.nix new file mode 100644 index 000000000000..6ab6cec42959 --- /dev/null +++ b/pkgs/development/python-modules/pygments/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchPypi +, docutils +, lxml +, pytestCheckHook +, wcag-contrast-ratio +}: + +let pygments = buildPythonPackage + rec { + pname = "pygments"; + version = "2.11.2"; + + src = fetchPypi { + pname = "Pygments"; + inherit version; + sha256 = "4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"; + }; + + propagatedBuildInputs = [ + docutils + ]; + + # circular dependencies if enabled by default + doCheck = false; + checkInputs = [ + lxml + pytestCheckHook + wcag-contrast-ratio + ]; + + pythonImportsCheck = [ "pygments" ]; + + passthru.tests = { + check = pygments.overridePythonAttrs (_: { doCheck = true; }); + }; + + meta = with lib; { + homepage = "https://pygments.org/"; + description = "A generic syntax highlighter"; + license = licenses.bsd2; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; + }; +in pygments diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dbdaba232b4b..7326e68e62de 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7192,7 +7192,7 @@ in { pygments-better-html = callPackage ../development/python-modules/pygments-better-html { }; - pygments = callPackage ../development/python-modules/Pygments { }; + pygments = callPackage ../development/python-modules/pygments { }; pygments-markdown-lexer = callPackage ../development/python-modules/pygments-markdown-lexer { }; From bad010fae807f2dbf104c1cdd1c98c1d0e6b7a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 May 2022 19:13:24 +0200 Subject: [PATCH 22/84] python310Packages.wcag-contrast-ratio: init at 0.9 --- .../wcag-contrast-ratio/default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/python-modules/wcag-contrast-ratio/default.nix diff --git a/pkgs/development/python-modules/wcag-contrast-ratio/default.nix b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix new file mode 100644 index 000000000000..c7b7e9bc9e82 --- /dev/null +++ b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, hypothesis +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "wcag-contrast-ratio"; + version = "0.9"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-aRkrjlwKfQ3F/xGH7rPjmBQWM6S95RxpyH9Y/oftNhw="; + }; + + checkInputs = [ + hypothesis + pytestCheckHook + ]; + + pytestFlagsArray = [ + "test.py" + ]; + + pythonImportsCheck = [ "wcag_contrast_ratio" ]; + + meta = with lib; { + description = "Library for computing contrast ratios, as required by WCAG 2.0"; + homepage = "https://github.com/gsnedders/wcag-contrast-ratio"; + license = licenses.mit; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7326e68e62de..23dfa239aa04 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10838,6 +10838,8 @@ in { wazeroutecalculator = callPackage ../development/python-modules/wazeroutecalculator { }; + wcag-contrast-ratio = callPackage ../development/python-modules/wcag-contrast-ratio { }; + wcmatch = callPackage ../development/python-modules/wcmatch { }; wcwidth = callPackage ../development/python-modules/wcwidth { }; From bd9f3ec6644117d80fefe2790bb12ee757ca54c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 May 2022 22:02:18 +0200 Subject: [PATCH 23/84] python310Packages.pygments: 2.11.2 -> 2.12.0 --- pkgs/development/python-modules/pygments/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pygments/default.nix b/pkgs/development/python-modules/pygments/default.nix index 6ab6cec42959..c8759a2fe056 100644 --- a/pkgs/development/python-modules/pygments/default.nix +++ b/pkgs/development/python-modules/pygments/default.nix @@ -10,12 +10,12 @@ let pygments = buildPythonPackage rec { pname = "pygments"; - version = "2.11.2"; + version = "2.12.0"; src = fetchPypi { pname = "Pygments"; inherit version; - sha256 = "4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"; + sha256 = "sha256-XrEWEY+WEv8e6JrJZDe7a0no8E2KE7UUuib2ICCOJus="; }; propagatedBuildInputs = [ @@ -30,6 +30,11 @@ let pygments = buildPythonPackage wcag-contrast-ratio ]; + disabledTestPaths = [ + # 5 lines diff, including one nix store path in 20000+ lines + "tests/examplefiles/bash/ltmain.sh" + ]; + pythonImportsCheck = [ "pygments" ]; passthru.tests = { From e4b942eccfec761f901a3c7932495cae03ab0809 Mon Sep 17 00:00:00 2001 From: LuoChen Date: Thu, 5 May 2022 16:02:15 +0800 Subject: [PATCH 24/84] wg-quick: fix postUp always generated issue --- nixos/modules/services/networking/wg-quick.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/wg-quick.nix b/nixos/modules/services/networking/wg-quick.nix index 61e9fe5096b1..0b3815d0cc62 100644 --- a/nixos/modules/services/networking/wg-quick.nix +++ b/nixos/modules/services/networking/wg-quick.nix @@ -211,7 +211,7 @@ let postUp = optional (values.privateKeyFile != null) "wg set ${name} private-key <(cat ${values.privateKeyFile})" ++ (concatMap (peer: optional (peer.presharedKeyFile != null) "wg set ${name} peer ${peer.publicKey} preshared-key <(cat ${peer.presharedKeyFile})") values.peers) ++ - optional (values.postUp != null) values.postUp; + optional (values.postUp != "") values.postUp; postUpFile = if postUp != [] then writeScriptFile "postUp.sh" (concatMapStringsSep "\n" (line: line) postUp) else null; preDownFile = if values.preDown != "" then writeScriptFile "preDown.sh" values.preDown else null; postDownFile = if values.postDown != "" then writeScriptFile "postDown.sh" values.postDown else null; From 972c7e99ff692a465509604027d65c28adde3aca Mon Sep 17 00:00:00 2001 From: toonn Date: Tue, 15 Feb 2022 19:23:03 +0100 Subject: [PATCH 25/84] Libsystem: Replace cpio with copyHierarchy I noticed every time building Libsystem that there was a very slow phase where the output consisted of many lines like `42 blocks`. This is output from cpio and in brief testing it takes at least twice as long to go through cpio for the simple copies we want to make. The interface is very convenient but the performance penalty is very painful so I decided to implement a function that emulates cpio's interface. On my machine with a 7200 RPM HDD this speeds up the build from about 250 minutes to about 75 seconds, a factor of 200! I'm not certain the results on modern hardware would be similarly positive so this could use further testing. --- .../Libsystem/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix index 86c91e9b55cc..6f8124dbac4c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, buildPackages -, appleDerivation', cpio, xnu, Libc, Libm, libdispatch, Libinfo +, appleDerivation', xnu, Libc, Libm, libdispatch, Libinfo , dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto , copyfile, removefile, libresolvHeaders, libresolv, Libnotify, libplatform, libpthread , mDNSResponder, launchd, libutilHeaders, hfsHeaders, darling, darwin-stubs @@ -11,15 +11,21 @@ appleDerivation' stdenv { dontBuild = true; dontFixup = true; - nativeBuildInputs = [ cpio ]; - installPhase = '' export NIX_ENFORCE_PURITY= mkdir -p $out/lib $out/include + function copyHierarchy () { + mkdir -p $1 + while read f; do + mkdir -p $1/$(dirname $f) + cp --parents -pn $f $1 + done + } + # Set up our include directories - (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | cpio -pdm $out/include) + (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | copyHierarchy $out/include) cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h $out/include @@ -28,10 +34,10 @@ appleDerivation' stdenv { ${CommonCrypto} ${copyfile} ${removefile} ${libresolvHeaders} \ ${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} \ ${libutilHeaders} ${libpthread} ${hfsHeaders}; do - (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include) + (cd $dep/include && find . -name '*.h' | copyHierarchy $out/include) done - (cd ${buildPackages.darwin.cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o) + (cd ${buildPackages.darwin.cctools.dev}/include/mach-o && find . -name '*.h' | copyHierarchy $out/include/mach-o) mkdir -p $out/include/os From 7fb011df898c703c9435d28633c32b150a6680cd Mon Sep 17 00:00:00 2001 From: toonn Date: Tue, 1 Mar 2022 00:39:29 +0100 Subject: [PATCH 26/84] Libsystem: Update headers.txt Replacing `cpio -pdm` with `copyHierarchy` makes us end up with two extra headers. I'm not sure why this happens, there's no reason why `cpio` should miss those headers. --- .../darwin/apple-source-releases/Libsystem/headers.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt index 09b0ab410459..cdca44c7292c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt @@ -71,6 +71,7 @@ architecture/i386/table.h architecture/i386/tss.h arpa/ftp.h arpa/inet.h +arpa/nameser.h arpa/nameser_compat.h arpa/telnet.h arpa/tftp.h @@ -956,6 +957,7 @@ mpool.h msgcat.h nameser.h nc_tparm.h +ncurses.h ncurses_dll.h ndbm.h net/bpf.h From 09159b20889a21dcf5d0c39ffb8328da25ec6552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 5 May 2022 21:14:25 +0000 Subject: [PATCH 27/84] python3Packages.markdown: 3.3.6 -> 3.3.7 https://github.com/Python-Markdown/markdown/blob/3.3.7/docs/change_log/index.md --- pkgs/development/python-modules/markdown/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix index 2c91e46d13d1..7207edb5815c 100644 --- a/pkgs/development/python-modules/markdown/default.nix +++ b/pkgs/development/python-modules/markdown/default.nix @@ -9,14 +9,16 @@ buildPythonPackage rec { pname = "markdown"; - version = "3.3.6"; + version = "3.3.7"; disabled = pythonOlder "3.6"; + format = "setuptools"; + src = fetchPypi { pname = "Markdown"; inherit version; - sha256 = "sha256-dt+K4yKU7Dnc+JNAOCiC36Epdfh/RcPtHs2x6M78cAY="; + sha256 = "cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"; }; propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [ @@ -29,6 +31,8 @@ buildPythonPackage rec { ${python.interpreter} -m unittest discover ''; + pythonImportsCheck = [ "markdown" ]; + meta = with lib; { description = "A Python implementation of John Gruber's Markdown with Extension support"; homepage = "https://github.com/Python-Markdown/markdown"; From 509e2b499edb97f3dd0ecf1f4b69735dff0b4395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Mon, 2 May 2022 13:30:16 +0200 Subject: [PATCH 28/84] systemd: Remove accidential sysinit re-add 0423158e106ec4a838f0d8f956faecfacf4396f3 re-introduced a previously removed mv call. --- pkgs/os-specific/linux/systemd/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 9e914132ef22..5d7ffe2d9191 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -641,12 +641,6 @@ stdenv.mkDerivation { ''; postInstall = '' - # sysinit.target: Don't depend on - # systemd-tmpfiles-setup.service. This interferes with NixOps's - # send-keys feature (since sshd.service depends indirectly on - # sysinit.target). - mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/ - mkdir -p $out/example/systemd mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example mv $out/lib/systemd/{system,user} $out/example/systemd From d5beaa1a93ea679bc855ac89197d8cbacb60438d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 01:41:57 +0200 Subject: [PATCH 29/84] python310Packages.pkgconfig: fix pkg-config not always being in PATH --- .../python-modules/pkgconfig/default.nix | 7 +--- .../python-modules/pkgconfig/executable.patch | 38 ------------------- 2 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 pkgs/development/python-modules/pkgconfig/executable.patch diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix index 105beaccb9b0..6721390d7abb 100644 --- a/pkgs/development/python-modules/pkgconfig/default.nix +++ b/pkgs/development/python-modules/pkgconfig/default.nix @@ -26,12 +26,9 @@ buildPythonPackage rec { sha256 = "sha256-uuLUGRNLCR3NS9g6OPCI+qG7tPWsLhI3OE5WmSI3vm8="; }; - patches = [ ./executable.patch ]; - postPatch = '' - rm pkgconfig/pkgconfig.py.orig substituteInPlace pkgconfig/pkgconfig.py \ - --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"' + --replace "pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config'" "pkg_config_exe = '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" # those pc files are missing and pkg-config validates that they exist substituteInPlace data/fake-openssl.pc \ @@ -40,8 +37,6 @@ buildPythonPackage rec { nativeBuildInputs = [ poetry-core ]; - propagatedNativeBuildInputs = [ pkg-config ]; - checkInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "pkgconfig" ]; diff --git a/pkgs/development/python-modules/pkgconfig/executable.patch b/pkgs/development/python-modules/pkgconfig/executable.patch deleted file mode 100644 index 79fca7a44f1b..000000000000 --- a/pkgs/development/python-modules/pkgconfig/executable.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit d8e0bac0c0d831510683939ec7a7b5bd72192423 -Author: Frederik Rietdijk -Date: Sat Jan 5 11:38:28 2019 +0100 - - Have a top-level attribute for the executable - -diff --git a/pkgconfig/pkgconfig.py b/pkgconfig/pkgconfig.py -index 3deb97f..e7c5561 100644 ---- a/pkgconfig/pkgconfig.py -+++ b/pkgconfig/pkgconfig.py -@@ -30,6 +30,9 @@ from functools import wraps - from subprocess import call, PIPE, Popen - - -+PKG_CONFIG_EXE = "pkg-config" -+ -+ - def _compare_versions(v1, v2): - """ - Compare two version strings and return -1, 0 or 1 depending on the equality -@@ -65,7 +68,7 @@ def _convert_error(func): - - @_convert_error - def _query(package, *options): -- pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config' -+ pkg_config_exe = os.environ.get('PKG_CONFIG', None) or PKG_CONFIG_EXE - cmd = '{0} {1} {2}'.format(pkg_config_exe, ' '.join(options), package) - proc = Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE) - out, err = proc.communicate() -@@ -84,7 +87,7 @@ def exists(package): - - If ``pkg-config`` not on path, raises ``EnvironmentError``. - """ -- pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config' -+ pkg_config_exe = os.environ.get('PKG_CONFIG', None) or PKG_CONFIG_EXE - cmd = '{0} --exists {1}'.format(pkg_config_exe, package).split() - return call(cmd) == 0 - From 5a3e803bf3de0e2132e450db86c3197ccc0f02ad Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 30 Apr 2022 13:19:01 +0200 Subject: [PATCH 30/84] glibc: 2.34-115 -> 2.34-210 --- .../libraries/glibc/2.34-master.patch.gz | Bin 122816 -> 331458 bytes pkgs/development/libraries/glibc/common.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glibc/2.34-master.patch.gz b/pkgs/development/libraries/glibc/2.34-master.patch.gz index 8fb02ca6d72171a183725a558e128ca878c8b203..b7aa7518c372e982b730ba37ca0436970dac50df 100644 GIT binary patch delta 210448 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
u>Tp z^X@9#GFVw{MTe?JHBt7Mu7aDF{rnO;~ftL9A3@ z3GXFlwPU{Kw#GM%3bnp%+U>BYOG~7SEAE*ucfDi&5KJ6`X@2r(<{&~W5 zYs7jfapjHw^TRgi|L@!@K8@>!2TN}Ey6@pm?asUA-}Q25zj=2Sk7|J0mI?A76du@2 zoc6g!vi|z97x$|VoLqd1U1!6hwq1&0+IJIsM2||DMb2Katu$jrL%nHxU1KC6&+4n{W1Jr>%pxHZy%bldJD@Z)!F#YFC zW4|OQCJ~zT&g5g)u3OXMdf(0ZdvVeB)bvmf9x0WkIpG;B^}AQkKBlXCNblEH*%R;0 zgu9Dgb%sdwY?V4$@+4REuJnr=*RG}19!h!3dD;HQtWf#dViTQk|4GZH2W?vvF0^5q zR|$V_az?kEXd`d8WW?*3{}p!(xF(joRX^z*xQeG-?SE_KcGH6H6`{-Ib|kLYot2Tj zZ`BH|&vR$o+$Vk8OJr7k*U}$eA{p~vgajMAauf4c5%{_3% z{28LlJD9~|bMN!;ItPmC8bxFruanv7D6o@{yH?yz^v9Qn4_|Q0YCqe+estx-6e0G7 z%Vze8uI#<8e>?owip_4_H6LE+|9NBcX@XUGOi=Q1)widat=ILX8)WR}T3IhRqw(?T zM3L8d2b5g7=N#Bt8of35dQzf<;bD`=khZYjf+|L_XAit%JN)+N+WB{v{5#ye`st^v zb1x1>E6&SLn7TWqbIHvE^)@BuqH=uEVL6KPP8OZLq+)YWmNVx@LjQ&Y9_J?i^L1bD z?Wy_t`Q^_mzZ1FK-d@>VQUC4M?ius;*4BsedIax0SNl-?y4`H={3Z2G3(m_gdH!<$ z%hTLa>rd+Jcq)>|WqHix@|N0!R>=&BN*yE7`=KGH%^z88d9ab&CMj%w#`C#C^LKsI znRR;Szo+{A+fQjY?2cISyDVYmyA+`vRT9#Dq7iqM_AWfM%Od~8nZLhcKHXA!Z&z{P z*~aP5Kh!^4aL3lZE2zpfrb3@neeqSM=A+#gJSN3xYtNILx{vwi)jbCb?S&errFB-o3HS+hLSx)n9sccS5mC(+vH?YXn{Pd0napPc&_bjrDIf z5c#WJD?H60vr(zqI4xhzIIG4mO*247kn`q^=KuG8*B=zqNt-Ek|3`*bwSQ)HRsOkF zrr687`_CK^|FidFNsZbuzk|&uBE`ZAXLxl=xQB|UYU!`qY*40c)44HvhU|}72Ggp# zJ_;_Mf6!V^YM%Z->15gel8+CU%s9Pfi)UDt=(C9@*O;YFbU}Tb#@s4 z$?ONa5A<6~?B4ih#~9_bI=sHp?&4TdUaD zds?v5G(gzmDfh{nk5)==*dW*HzemxH@hsotRf|`p-B|nZXxUz7uk`END#bTH7njf8 z6>qmDZ~n9o@^?0#^#3O^e@kq1z5gKtk-G2UKJg)!dUGAv`;SC>h{(Am^%zD)UUWUs zs+1`4fA@2zMnjL9kD0N%O z;@rf`+Z5_6m_zO_Gmf2We&+)BVyzrL6CF(@&daAPVqe$_p9*fj;+lK2!SdK`tNi`{ zlzOC`<&30v_ntqm{lZLY`Ao|{n-2ube6cxL5OCk%_0t_Mzdmlat`>Y+P+L-^7Hn{A zqF#JPWxUz`2f4>C?(fxK|EPN|UwC0?!l7^L>aWaumwR)5Ra#P-llyU&q{Ye+!BN>> z4?jHOOxG25t9qR}cTKAeA9HW8o$51Pk1J9Cn&g{!crqd%if`C{zx{(mqujA4ZKoAp z+pId5B5UUn;i7VDlfneGo!;Lc^-O>IhVM_?xg!T^o-jp7E!wnVso3N%ms{-hRu=0y zrX{F2mYk?xl4dadt8b@u>-7>IHjWR6d3>1OH(dI`FX2#XQ1`^4&Fd=D)sPGg&HWdp zymVg+ZMm($Q)2Yx>bid&cXk}8beu5#lTKI0f$Kt8k5w}xMoBe6c zu5>ZOZ)Hac9Cizcv_uEBEVIz$nj<{rqsE@TJI_;6k}d6T*XNz;xwMiYnCWM2ecPko zcUIo;Z*^66-?w9VjK5G>*Q4IckC|S-`8L6J+iAf~kX?y;Vyp9o-39(z{}l0F9VA~a z{*#q4rs)y8;-TKPM^>z2SbI)Csqo0e^L!VkyuVlZ=H1($*ZNh$1Q&h1`|gh2b93X} z#?6uOj;b1Sww$+St95MPOv#1t(T0<(V$Yd9-6DTcUw(aw@|RF+ zhxX}@wzu3#o+U2Z)yz_}OO>mzLL@jVJNfXA)LjaPO)Rg?RCJqhDkntpf@P`v+IJDM z77XQ!?gtm|a!imtt6Vza_{z9;i5MPM)>FQmKHLZFj-69p!k8AcskQ#%_lpUJ;gzvB z13IS(Z&}6g{QJ$9&NHJIW*HrQ+`~ER2+K2`=NA@gSw$|ou{EppRQ&weZ=Z@f`v3H^ zmR;!K8SX0{UUAjatG{^hYDVRPM-x&ex9B^&N<89~?os?+$^PiT&ILkN#wMIOQ&Tb= z3lhzk_ATYBVe-p;*2%P`V$Gdf^;1?K-S>VK?_Y+pjx`nn(ZNFAQ?_L~8^-&ZS*7RS zTHY(CvuAVKtvNF{eW{Z8!Xb7t6|ihaApgBxF4DIfcDlp_ z$DQ87c(*@5jiGRz!_Th2SN|Nn|Gjhn5B|I*`)BU|vHgwgqi6d6n16Qf&;I8$y*+Pc z{kyy$-SeO8r{e(#xTNibwM$YTFXOq$)L=##%WLx6L{d5$Z?(H{<;yn}tlKqd zL43+@|H@lazCP|2i=KCsPoneL)b&R^rPbMw{NsOFZYO(yIVj5gaMZIO2K$+Q*6n)y z`St|AossO{e)3%5>2na52;(|Db z`sMjc`hOq&^r3!3&&r95mp`@h=wJM=czMY41rsN}lX-7>luNQYZoy&!?#g7wH%sp2 zy-dAooBMY8@(``W%TH4*WG1#PKOpOMQKx^Aq!;^#z}ZI|3L0+C{qiU@QthN!fw8BW z*XR9lD$`k)y}4P=HB(ck)$#JWrkU*@4H#qOC&$d%IV~f4=Z~pQXY032-gJ*Kb$xl= zox41*40tLt)I#g$8k}kGHqlVF&0BfnXcnJIi+d*%uV`}+Co}Ix)xPaU*QdwCAM%mP zzVmipx24khP#I3n8o9F{?Vqje`jfb5wI#bsZSK5>GZfYsOP<$C;-6K#z{q67qf>_5 zp#=@*Gq%YpcpYR<`>$vzCb_cyf?4{3jU|RsJ{NUe91c!0;90%)TBgq|E>B1QQm2o; z&gbW}9=m1~9`!i*@s;#9OE>;AP`;D!$8%-U{1ZA}e{xTIH5P=3@8>#gcq4B4<)b`h z#&IPK6Xhq@E#8~BYQ5Q#cO?pCpO0P*@enu_pEGg7BSzuxmh-+XoVKfY!B$?oxYGKr zmtm{B|Cqmhz3Y&djale4v8H*a78bn>pKG^w)*1D{p1O*nW0NGz^HrVC7Zx7g<-XMG z%bN{64)p~AE5rEP7auNs`ZDX<+b7p&dD?4h*Vp+xSvyU6*1?nKE11?^%Px}Jy~yrmUx=!rZ~ zt{2ra==%^UT%r)vwC97y%+R$m8S3&IWlu?N4BkJe|Vju!%po z{gULDpt#Meo>txy+Id~YTd(_PjKtGWq1eYSznp$Ft92>!j|u6fS^Ux|pB3Ji{93ET z9_0K$ZHm~J`Wct9OYDACy%jstFqd^(nrrx>Qft{O=?dqboO<4U*X3i=vlDthgGBOL zwamng=3V{vt!RsdMB5zxX%!n5|KD13xAbu14Kw+iP);>w=0g_^uE_YF*`adoiA4TH zuiDHnCwu#{9>0)Ykwff6xm4DjP_*r&+zE}8HnB&c%TaGe4Zp%AbxiTs~oZ;KcS&+fJ zTJ;C}m+NKAKfkLDmouNe;8a<3`q^udkKZp%`roxhfnic<(7{G6vvXqZv5~gX+SAne zgw{BIy!`oF(VquPJNEXJyx35$J>mSTI1ckViKYJI>4Vbma_)_rN)V0yOPUZdDAI)GI{qIEle)D>z z*4?g4E;y;kRwsP$7yDu`Z^5gZ^q{^k4 zT~WMu+cwp|5%zSM9)8t*iM##KlGTx~CeaHJPo}I6*?U z;nEYX=KBA}^K_#ZF8&eyMR{Tj3-84f#aqrMSRC#4&STXxc%D(N_&(pa&RVd|=g9HH z56>J9blvUwK_1+`KN1_CecM2w{+eCuJSX2x6Ev3IeDTd7BC%GYXDg4FYIVW@14L`POqZ^ZES>K&M|J}OfFJ#T071tjQ&#=g4w)ilk?8a}YGXg(; zNZx3wo-ki?#>Se-FWqb+T{6+Tt8o9J*S;?fx@P^|k)i*mVe*DW zZB}}38q3?3oYK~K7lLm8@0kE)A#0XH8_6x z;nUgMr!gfbznFS*f>ph>%)^tSz~IBmyQXv8cD|f^Bg~w)CPaJZcg6b*H!Akjvvr@H_jcOP($dctH=Qniy;|<& z&Cf-9f&dsH^t$rC7ZNxBHJj zM>*Raj_=9}l8D?R-u10vo#3Ig%U>i`q`fjsr=EF z$F}&EqMOgN+!tSV`<9;|CdMV+Ih}9G)K*K~Pp)-l zbM@Z86EilRKYy;8LzKl%)~kp3XJl8}MxOb4!|uZL$CW$1+SBEd9{r z=+N$8zf@oKx|5`b_&?zX@d}cek6tjm5c)Dxx02ylKy1wG+o69M?tdt`UzqabfSdUW z5rfqJ`+MXA`VPn6Tc+h3nC+$>dhO(dt_v(&y99r9Jb3c+gRgZ%`o`2)%RQ_8qdwex zsGPa|gLy9++~{&{lN8_v2qTsE@cUlGty zm(tj1YOHqVNxi+TJL8`-^_@SxqLht7{BJs{D_>*moRze6(dNCgRnIfdwyi&{crZ;y zjN!)0M`t9yR`G9NEBJnWzWO8Ou*@s6H+eTc+woRq%Vi}a?kZ=yoq3z19?x@>jOO4= z`}4W`^xU**YKv17Y=dWo%G_W5&gN?05*{(GI2RM6!e9@NZ{-K-_bhC=lcproWj} z{X<->E`Pjy`0CxIHs%j9FBNb4?s~#K>Ec{jk=--&8r&4V|J?ZC=jV&38z+hEWSD8E z{d1k)DFfxMHF6IMUNjXdN-^rymn;!Ua1)>R_@{vqb91qz%a-FOIyWt3m9Z2PRm{rxsIsW-aZ>p! zhcjU+-W;mi=eGY0-j?*Hjk!|qxPhfzbFro0gRL*C)^-aX)n%#(ncAIeu%+jVbNy|% zz^C!DmzSTqxYTV*qo^;#vE@1|^36Y13pwf?d&Ie0k#Ef}!NeB5=N4sJ8b4zs)0gzt z@O{5A_mx=tza>+TE!jFRgVmL5{+iCc5g!jH7p+`rwnX=;;!*YqrHchJ#ibI9udMZ3 zBCF;4D}C*Sim8=szAxTOKTJ4xfb;UZ^^BL!)&H=${X}Nt#~UenFLI|DN7lydJX~C> zAoXp@W7{{q@m^=v9os(TtdDrx${BNv^vbWUmUmpa?${f_HJ`43+dBPh{Pm1H*^;)q zwQK)BDoae!FJy>6d-8z@hwbgVL6y1XS+Gn+A#Jcl$yqLm-W5F-jBMc_5 zStO$Hg`0t){{R0XmAfiEv&76C+YJ@w&Wl>aEv?DcTYs2+siEou=F4iGoo;N)#5z4Q ztE$?Tojlf-=6Ou)%O5dUqka#`+1jQy^aRsLX&v7#l^fhlhbN?3 zUVXOx$edH$f2tbfHjN1G$P z3iFR!aQtuCd}ldFQPTpRK=un#yw2sT6(rN{Jm}y2ldEVpSKrL7JnsxPbFkj?e7RSX zYsvq2U(`gKH+Rq1`(6KjGeiDmS8uiF5}7sv?nM?o&DMWpB=1ycYl`Gg-#pF5RK~>n zfb^%vsjbcekNJ%Raxy+>XGS0RazWX!bE32BgoM8_3+z|^|Mus{FR44ey6xW6qw@m` z_G>q!9etNszL?{r_KJ(wPj}^|U51xpYpiX+kWrE*O@Q2H(ijc=Q&)qSa9dO z+fu&*Pj8r4u{ekKBmaesm$w*tG5>qpB@kv4@nz-_2Tn<&@2n?dv(^RfcjW)i7Ml>X zP4O3-M7E2TqTT#U2jk}XEvgNYV#?9JD=Ew#v8U$L$)`touXzV*dWEg}#=@r)B?Ol3-^-)T-$%Jje+ig=-rm8RO{btoR#V$uo z%y?V8!2(8`I-j%LJ9{Qtbh!l`eCq5Lx+TGy`#nQ~yU>4G_Q&scd?~*4PR7UoO5q-s zzIeUuLYI0|uFaTfvTeD|r$)qbY@g-^*R({?C+Sn*TB$_t+P?qM$q=n#2E+D z>oa_pY>E$ka^i-xSKvPH$OSPyuM1+$yLHVwCI_*UNFOmxeIzYC;d;o#mC>xSkv~su z{P}+2=0B&!%j}H57W_W_@#oEx`M-0lTR(*-_}lLO@$<`*1@3|A>)P95uV+u?o2`22 zwY=k^+c&2;rgJvWv;1Lf-@r9{U6nEO`o81YPmc%JFTNpp`Ps)17uS=Ye5SWH7434q z|B|Iy?8ECrY0GcR{D>{?vPm}2O0szzZg5Fpnn&;6U!uZtn~ddeYuyM*UiaNTOt?qS z)$Hh(0tsJ+&ApH66*5IwNQwP@R65&8df%v-4JNg6ng&WV^U; znmoIYsJYLc!K2HoxLd7YN3?F=_tw2n)*n{)jWgN2czb_vCWB)MVN7*TUa7Khx+v5PZ7edArM>J%S&tZoHm&WA0YzP2F?m*6W{CWng06&B4}n zW9{lP<;99yz0X~EyiVxi-ldkVtlJ;{`p$13H;?)2Bd$|kZ$3*GO*mTTH)U!1qN%+6 z=aau^7~F3Ux^H^I^1A6+x6CIDC4byze$e^EYaIP&!hvcJ^+WwEw_`75@4b2c(X4ap za^Eao<~8LF1LIVU-0zI@GG9fg*1s-XC&$mP&Qn@-G^O>R26utTUh5Z$2_OB!>Yi5H zZkzTueb=lzMjIP7Zkznt-mbe}jCD7glEma~%kOLobc*x3y}ad%>D>TNZ`*_@8NaIx zugbW~7nI#z`J4ZP(o&C4Gx`z>r!9E!?9Z&Z3gU@E=cjK@QT+Mi^-5mJcMSIGxo%JD z&#C;%7Iog*b@X}W56zjrM_U=Z&#KJdSll#EsQmLm=llc>+bXH7TRIwN8kuGZy)90t zv9#M)^;=Ge^?mxpee9a|43a}Vk|R4pwstGE`dgI9>^6PF*4y^n^;^LMtGAAfepjte zE)4n09igzdll9VU{k}l+=0z3{Z!;{u>Tov7qFyWfx|zViUzcC}+m@c{)f^-$JJs}Q zxkgS`)y2($`c-}F#IGN`<-^~x zXu>X1ZB*Nk89kCc~g$ll%Qd&x~_>LQKK z>Th$;zrT04_nkq4xlw_<`1`Zp@+Js3^4prvKQ;A$)IlwYxf}Ns@H-y9$eh!iHcNWG zci~^y} zu9`o6M`??>LG^)u2ifNTcm7w|e^@-`U?Yb*^Bd*l?Pp&9aee)FX<*y&(!W~@{x!c& zfB8=1W4-S=iyMOHmOS^EZX|6z*S~4X4d$}DJ3F{{wJw{#!=P!6{ZI{@d@QS{~J)AF7jnybP8&KJRh$`H01izcvNDsILhtvSP83`1e&)?1IdN z?;WX9F3cNdsjyt|j#Rmj^z7UviHS=Dk6%=9{~=j%bE-*w<1&ODGq!tN@Q*q1vJMa#aw>|MA$ME1pY!zFc_WSX|_*D4o2#oJV$#DDJdd)wc+ zGv6j03z2PaO;+XoRruRRLyhOz$v8Ia*-m=S#?E5fe17aRFUWiT(?YRgLtWJMh)P2n zy9Ls0F;8!Qm}i`3mGA86y5nBa#+aaU$X>E48 zO_<@oaBBDEXJ^=+mE7RwUmoA}r~c)N`yV(nOJB9ljP>=+;!7@yOYN`TESaHRx?{go z@YUZIzcVejE!SV(azE=ji|sPL=`O`CI~9!5`9_3CrQ-EZ z{t4PV6Ax(cICEd^ptTwYKhMr-%saz^b)Tl3NZr9^&?~&?)7~=&8#DK5{<+{ht3$u# z!-=n3&xmimbp8G>M#iOAl+DeLq<=_R^~SYtXAK#5&9S}D)*lfL@>%<2 zQ+49W$W@%CY@rFdrUp;N|RHk9zEncA+m*kVb1{p z@oh62B>!D{uIDkmM&Xpnw^db!KX)sgi;{iGHLrcjnQXp|yFRS_BK;w7g$V1lz>+k5 zv$l!~uPgt5*B33iqjrD)ox0y2uWpNft-=%YM0K6!mDfzo|E$j@wueqg2#Y=SEBL9S zf7cho+8Z*S|9;O%&kJ`7pZG#BWMcdgPv*k*Y5kV2e@<(@Z>*1mGv?=q$JXI}Lsuay=)tLFB_ z#A??+@Nr{GCI+TW$FvIHh#PNWc`t6f$z;)?2TvEs?N+fcc5PnjZL;Go)9D-$*TqXx z*620q_?ofz8#02s7)G0xT#8bZDPDg#X)VLw>HISzoXT1n{C%1A<(X19Jy~?+h|mYm z`UR!O4x9;?GmZ0|MZJ2unCkSVS;hx8$w{=VtUNij%CORF@#;3WcMbbBpWI^%cIM9F z{n5;)zUuJDeK(wBvJ3{Tb(CZmKxufn7uf=y?}L! zWXjtKI}O)f;|nwl_&aR;uf@D!ew zvv>EI?A3on*KFYoyuP-}YgvEgTl4QXUxif`Nb{eZ9cOGVyFWv}Z2G%9EhR0>m90Ld zy*v8iyjX~8%VeL9R;!OQbL&&4cJ*jJ-?Bw{QOozG=a)l_qjT)=3P?CcRlF$dEt@`%|7hOY|-Z*eK}Qm&Q(P9 zWMllJ;%QIC_WS!N`?Np)65$zZdd#O^YV)-_i|6g#7uR3q*dDcgMY?_9)}%dV^^0Tq zc07vLS;?i>y+3=mTwia9B{8?%>qZM&c4|mssbge*mX`?s|$0iJ=k~p z6F70aiM^e7%R!*_Tl|7OAtJAua<9E!RA1+?G_31ZNNtAllOI8mr3I{&odN&%?l#tW zb9D9$Z-q`V&Wecp*R1c^&YM}xRyMWk@cIX?>FmdSv(x1H(s%;jX)HS*UHIltRdUR1 zUB}#Qi(mEry}WGCmgQ;e8=ms|oPK`Ovxaw%`-xLwUw>{&S*ASAalY>^f7ANCR)(9R zo&MjbU$FM#wzh3kmY66P3L0csYaY@__V*3h;vD^1LTiiZ?TOo3*XX)$FD#J;5wndi z=T7*3HqyK=ulUl7sMUP4C%7v01#Grom}bM~bk?G%WmdS`ik)jWxfUN@w`IelUEg$D zZsfSQscIfSdF1`PI488vbdWKItSr=UV^u%M`-S5RkPecRGH6_nocHAv)`u+6>4tpp?ZmQ2X znoxG}pYy@1-YmZLZ;o?K-(nWH+~}l-T-#5L&wnkJ9<UhR@{sz{2sB@ zq$X2f>BX3=fQPc)SM9_n-coz5P|z0{oPD7*Lbs{>Qp!3{-u&}zlQj-a$@;h5&)6(Y z?boLGYVpF7&Gr0O4PM-^-<+PCzPbJj|Hr;%{c+}Jqg@UTVRdJvtI zzI4jQLpM%bJM<~whFfR;YQ=76y^`PGC!d=*>BcnG`e_v{k@XGOafBvcVdG>)? zyOqyw%v&-&$7@U05sn$G4d1%XTi;&Aao^0c{@(rb&!)&7;d*gv_Co@U=SNDB*DPMB-4mp@$b?v`$s+rE3v z*`BOCX8+!N`i|7w)w5)$%%8T`*z(xjvXzeSteu?`W=!4EbZKu=znXr8x5w(aBCDNV z?VcDrEhXH)KjmbUN#gF*>7J2+?GIM8t=-l&UFZMtoZB2(Dt+~fx387|wyI$U^MW$A zQ-2CsHG7VJn_f2a`Ob&x_gDPp;XH2Z_`dy{*zU~_b-4C?;5_}I{=TR@*P*6R ziPY`NxewT#e_vX-l3`)OtmgXpQ4)#=0(t~~HUtIjQ6!k z=k89~dmxRm@W;&SeOt8nl^Z&@sqIePtma?-I`c|Y&~b*kke$Ci&t33HtA{b;^MQR{ zp~%S`VLW|8XVVEx*dozIHw1dPmZG+H<$8rED<^Wv9gMcyJ>8K>evx zJ3qFEZ}@vq?@9bG!%N$;Uro8^v+Q;7rjiq@x&&X!9Mw)rG~++X_t{}l4Ojg=>{>NZ2iq5@h}^)!cAt~UUEPAEiGKGm)c*5RhHs;qagEgS$ag{ zj%SK9RARpf#4uEf_(WUkPnfXI!71W$;ga3;Gp2RCyTtRvaA#e)t3UHR2S%oBwXLns ze#SI^a^a~hPFsETO+TBqF;B(a<~I%IHD?+^d$yFm*xWZMFi7sZK)KbEGt;iQLzV*f^)A$avo(8I!uT%jcLC z94X5^`48MpeiM7z?~sE??CWroLgl6NT=ao_!O+`ne5 z+_E&{00N&^%(?ClIV3;VaU($@9U& z&SS~%g|=7!;&U>Ks8i9JH&2D7`A6+WCE?VKOsA4WTT&*;pE-N`XlbWKN&8d5o##JR z*p~P_z4P60&2G7=Q&v8>+U0)mq+0#N`)_W(?d3fi*Y+-AA)_0cXK&|GH^$6|2YtSY znknz){UFG;Me@g|&xcR12-;>W{@(oWhP@|eBswOa>GW8+d;^=o{0T`OnhFL6E> zUSDGLBv4^8$4T>$xhmYh!Y6Ra9gw{jwb!ve;oF^cSB>vZEPX$tPx1`Unm?B93oRtq zp1~ zqsRNsKhLl0Ub@NV*pW><40(BJ&l(>r&*WUPD8=+?z1Eo@Z*t~ZEqkL^?!&V2vVF>( zJr+7qr|zmpos4-q$7`ukup5`_ZV^{zhO;;BbK6CEl=e*#$Pii_-rOU|oXWJp@__%# zj&lNxI{UKP8D^zKZt*&#HFbuFQ4(+>Kq=Db~(@>MWFU=bJZpWhp_cy9~1Ic3jp zFl_4H>lpP$*RQ_u?1!0r(|D?FTJ{)gN}8EFhEznwz6emYpI$U2{#M)S_!aZaSp%4R zt7MxBxg}Snn;cCKuZ(}Fyk?K=!#ZL6s~J;6HUGyezmW!2m4~X`W^5F!IJ?g*F2&Zy=QqQ>-IQ$8|eB5@#sv}nXJpP^}>hs76;by6+M)EvTyT6 zF)2t}cy4s|AqRoh`u|-If(27Io16EudTWYsw_b9;slq1jy;R}L`Riwnc|Xoen)Fp@ zu6S($kDAuc8OG1gq;mLvn$@zcn)!?IlAFQ4sW-YV@a=k8?vrse+pvVITwHa_q2nbU z-Om+Go{MyKU*NdUa>!hHOY{9~Z>QTao1>Msumz=yE;LL{^J#8tNvr>R>zr4{y>RWq zjJJi3f7XTVig&V}`)GHJ#m=0>#Ty$gb+9MP_P8qx1|VBdNA#*hMv=^-QJt``7Xb-*x9$eJE=YUxc{=lM{Ub@{IXX# zpL)ms_YAvz`)vH@t8G5N{X6HjE%klu%k=-s&OR=5^A6eu-KpG~WN zT5({nx#*&~y9H#JME+IYocu}Smjc_(x%-|*_Ey)$tDUJZ6u$QH(X*A)HI6ToDYvrh z6JGq9<;doB#ok*smzrve>@T`CktxHy%dji{x?bJdDRXve9{-fpXCBoVkahNw={*&l z-o+igi?8&VZ(IE5xm0xP$!vo{UX8Z7i`Q@7YhN#;*>?8Q)u4RYzzcUPEl%j)>`2jy z?y+FlsFSf%q40iuX)lY(o2JUr2yx}M{c8^!Zw~&tMbqndv?%LR({)Dz#WuaFczDXU zoAr2vzWhX`G?%U)UXps8AKvej-F`H3MVxv2!me|-?ZIj8Ol)rPWjBF;K6OV;&xq{a zDB`_MwEncgOsPi==}m_xTnLJCE1u-HO>NVYSFFOz-sZo5xA(*Zf$kFyYVgmo2UbvNf3E7Qc^HdS1Qx>Hqix-S_r4)nD(J9&azz8-4Ha@1(!$ zZtb2Fd`_jw^Qn_m>wJl2H5270noGIrVntwpAThV_iRI&C%37nSN}Q_~u>T zC!CGd5!|XjJ@7@9A7fR0X>-g=jm3P^PF0@1xYn3mz-aHh|3= z4Vm}9`g$?{Ff=({d#k-($Kbb{!He1I%+ohEXHHx{sl;j7zpk~BTxs2V78`aaxcO(? zTvjiXYu`K}bJh#bT{gBB%s-B?mwYZTE`EAjz*zXG%30<3?`keW zVYLz3`PTwoCN>Kniwj}+<9@s6Yj|+n(RwqHo!=btFYmc5>dNZ+w8UY$&RXBuKP;xI zOc$B3`Sj7PpPywtGwGWA`Jv;E1%G#hKX6vma}{}C^TBwIn>x4Q>Pb7grlsCItE&*<<5LZr8?NOHQoTRC<%wBy4JF?wfaE zeG_kz$dj05LhF6IoMfKF0Upr(X&rEciw#M=P=ANaMY)MS7F7SnW_wVqW z)SSIQdSi)@)6XW}&1)QHKJfXe<5-coDKDe2w@H)BlDn~TgUya-44*5%y=R#>b=u*N zi!NGkOHjHpwZFOhbUpLTWsfpvPs!X6|21KAe^l5LX#rpN*@9>7Ur!QUk?ibR_*uV5 z#<0n?vv#F^}%QI6jP#~Wxvzi!8)Tns%1lgW8wTYnPrnN-JU<) zb5qX@zP86x?q6bbTk=x(X3HGen668!crp`iCQs(Iwf@j{O@rf(u$9y<^=}gn*(V#A zw7Xr9FMZ9@!E2SYSb=M=&1{(~+E42nT&=~zo-B}jc8JgZ(v{qV)H{F8zD}KMo~C@* zJclQCcfh?&uTt|7&fq-DzA@D&7ZG-uc0co zCC}^f?c)oUUV5GATb&$^%gI{HU*#_7rh*WCN#zokrlK0BwVX3yQc(kW6uem(ZE zQLVSO3w7*T+t)QDj{M@8%Tvs_ZbxodY=3v5LvUu(_o$m{orEg309$RuQ<>U6M z$EWQ!zL`Avz}M2bhPSrsTwYeD-Tbtc_t`14#*&E}l_iU&cZltLDt2K0e);aGS(Ba| zUiQ&$jp5^h`@iI`se9iIIQ_DypH<{y)`rstf@hDo71m2+_aDhzqr1JSLyw`%N@>ND z2eS&8*;#f7SqPk+eaOl$yQC8I|4C@bPP5lseN&15Y>w|;3E2>Vhgmp1w zAMd|#w{iBAM$>)V^$~$`Ig_=2y}4sJ=jhX?t8X^32*xg2{Zg~kFWu*DKDfm`R_a*c0GpEi<|30y&Dco0N8`p~vu~z+hXXh3xt*>E` zM`R5fn0Yi7f9Ah4<>G9kU!T6mN^M`3c;@rXdkZUG&1(CXXu{nbxw*SI;r3?n&#VPy zWpzKRo)uUeWj<(ASAL!K>%pt}uQtffyS%FWmB7MfT&p})J6Yy#YF`ji8@rw7{FYz) z-uKYF_WRP^tG}s!543EJN)~LturFV^pRwse>2CJScbD%>b31uj_5Ec zSaaU<{Chs$D2=YTxo79GvuW)0)-%*^w9mhGUG4ENrwz-`HCUbZFXXH#jI|SyiZy1t zu&e&~u4%PBzi0A&mA!pJT4I{DM0G>`IE>ayXoHwGQfanPe94lZx^{WYt3cy3>qF9i zJL&Mn+58q@L^7fjm z3ZpvD*M+xMm}ItQe%Q49#0(b&L$Qe^^0(~w@7_H3N3+PbygiB5$1HC@zyJ50h5XFJ z`=-TNzqPJTJu0R-;r*UPbJ@R5ujkRw%T2AhC~nt(LnAWXmFbn8-y=t^TOIEEc7^ko zYQ>3q9GE`gp{T0t6Xks-?W+7rq4k}{C$m>gnR(YqYuEIa#UcVO{=XA{=bkRlpVGBF zwfh%;iKMSxkhy^nYhYB#n;+W$rA+7N@>ea`Wqp9hzOSBab zTVH?sSM2HnMOZIQm!@~U!R_|W=vc~nR_3Y=T z`MYcC>i5skJIP{ab}lV^b<0`q}-bt*>W`Q8@at@}S>M_vN=O z&8jY_sZ5RLjg$B;o#T2WeZ%9trsG+?Z3=T0UYv90TC{G5gFOGQAAGKnGARXD#Uw9w zozVPiQ>yy;{G?`A!-LXsp-1<9yDE0^(Vz{Ef2lBwBfeGtQ~2ceeWK(>(?^2Zy z3IV#iuW7LJKACbLVS&Kjm-9H+9N*(>bWPoGy3=w4_l2tlEDx8i)Zi8uv9<3p?ei@9C^>0z>>vG`f7w8( z{>@zQ4de&xkJqy{*R6=ntd~4l72#FTetBnEZpw# ziG@Y77MCsAjWso-J1ZOi7>6poo3pdzvsu6IzVN9MZr63h9W=NzI3$DhJ!Jmu*_32| zN=S6>p^iE8n--lQeE-eUoAfy!K zdBugLsa-M3Wb18-sMy4*k1ofyb^O!nO0ExYkvV;mvEioMM6p#pTu&ac3*P;|&}M_N zxH9vhaiPpKLxG772cInO zlD#maeaRimP0bT)7o^R7v%>FNx3`{NwZU|C`{ruT=VvFs6m`8``A2f~tY~fX_J}Vh zr$6wKtGAv~(x~Qf^uj*5dHkK62ktfQ(Yg4OVc}&lp%U>YjAqgr@29Xy_lrAp#BXYq zUZx&;jJap$`SAHE{O3HbZS0VZd3mWkclvzSBkz==rncLcC30_cayh@FUHRDDYu%4d znJBU62I#b}3Epz?;w`r4neT+|PWa4oP4Ah|ogAiAkzB;-=tNkf1V7YYon17E>eBkng(5<{zKJD4py5HyAtsjA$cl4ah z+c*#9x*c+txwdJOf@yts^^OCQF5eECzR9s~N}Te3lW1=1tQt?Lo1VwYTV$#Zrf+Q& z+wkA&)PWc=e#v#`3q|xIg4WzWc#1P1#^BbA1sfLV9pp_ocU{_U@%b~UGrwgBAH6tD zf$gDqv467Vt*$_!6Kp*3|E?ccyGT#&f9}~u4A;KR{kn-!Rlm-}`NzlnfO=2ePlqI} z7JuAeyy?xvw{x3sCdc#0l&4w7p8wp|ESJN)ccb|`6OXtztV|*-3}&y_Jda>LEyWYh z%+jIo`@idk*viDUwd?MfOXq|$mR;VG_Ca1^*5km*2g|xV{<}ZEWctj*deP7LV@r=d zn83V%&F}wP&ll?~v$h- zlP|VdZ_vBVeCC%`=EIf3{a-cNB+iOfsg#s=|I*QOYO%wM1>!Y1<-JvQk2D&&pInzU-&!LOYslws@ciT)9d?rw ziSKf+yXSJGshoJ$c)5Pp^q2eD~3=96va zyDR1STb3Ux{Vw@JM~i))GPCPDrVrs)Vh#4iuyTIScbx6mc2jkxt+@P``n=Ol8C?tF z-fec!K6$Ko;ny!*X1sR_xc%AZa4b}-OIiELX62NxHeMCSydUjba9KIV;C$~(?h{Ip zCI@F-;18Rr`={a#|H>JYRvR7W5&tA)@MN;?Z5g@mm)|EA{}AoX&v|p}_|jd+lz+xo z&e!>KuJV=MG?PV}^puu5U-@-f!Q16%{lp(rA~sC?yQ!i-;rg$6N~>P{3jQefYnI7L zC2J`iw@;D_8xw>yG9Bf1A2sf~5UvzmBkAs!)_s2O)1WfrpU2_saVp9=^!jdz`cK?~|a!2;*aK3v(`2Y%Z^P zBJQV|=fBvg^H=r#JD&N1pAMHU5*6^;IQK|j^0~ub+#Tw(xk8vvUw?P|o9pqywT~BU zeYfGRbOOugfDxAyS2de1wu)e0)hxT->W1CbgM5Lq zYZ$K{%v#MC7F}v^wKr;2bM9)svK6lqwuZ86ujX63(=>#=y7yH=`%1oRb6zE^50y30 zI=g~zn|G;!?UefPL-kvE<{S|Ac*A#Z`im!ev8%4w%+>k1Sw`gQj3+_Wi3_wUQmh_S z=!)EAIJ1T!?ed$bvUH0#ma*#$7LbH^Rb5?>|tZT|nQ_v%-zR(Lq?<2I+5 zMB}R6;c>;wtIL1+eLV6*pEbp}?6MADXt0Icz1;cbtaA4(vp7mprmS16!?f79;K`av z%GV20!gkzx?{MHxg3L_QR^`oy3sSFUBwA{rACLoC-`owFn9u5xs@#pN$I=dS&? zcGum;=*lofazI*zMr~F@%!jUsux_+&ZJWpwgb}#=!Z`G$4I=6^& zeH5*e(0`dBt8p>!RmH>f>p7hJ6s

l2!a+SO5Kx<;3~#d!AS(D>Uv~<76e=^CnV6 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

x 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
C~o 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 VG8>F|Z~seX;P~Ie%wfmQ001gbLmvPD diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index bf77f6abaa35..91c3d55926a3 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,7 +44,7 @@ let version = "2.34"; - patchSuffix = "-115"; + patchSuffix = "-210"; sha256 = "sha256-RNJqH+ILiFOkj0cOrQHkJ56GmsFJsZXdpORKGV2YGrI="; in @@ -63,7 +63,7 @@ stdenv.mkDerivation ({ [ /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. $ git fetch --all -p && git checkout origin/release/2.34/master && git describe - glibc-2.34-115-gd5d1c95aaf + glibc-2.34-210-ge123f08ad5 $ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz To compare the archive contents zdiff can be used. From 9d8bbb544b43a1ba9eac7deab92195a297a17d4d Mon Sep 17 00:00:00 2001 From: Christian Albrecht Date: Fri, 6 May 2022 10:30:03 +0200 Subject: [PATCH 31/84] spirv-llvm-translator: fix duplicate makeFlags merge See https://github.com/NixOS/nixpkgs/pull/171656#issuecomment-1119263828 there was a conflict with #162603 and a GitHub Action did a bad merge in 4cab9ae#diff-1aeab0da45b3afb6688d321042021a2ebad96758fc495d92aaadb50cc9aa22c7R28, adding a second makeFlags and breaking the build. --- pkgs/development/compilers/spirv-llvm-translator/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 03a14ad9180d..b0ba8508fc35 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -25,8 +25,6 @@ stdenv.mkDerivation rec { checkInputs = [ lit ]; - makeFlags = [ "llvm-spirv" ]; - cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=ON" "-DLLVM_DIR=${llvm_11.dev}" From f9eaa902c0aedf01d476aa7eb2c040c9f9b99387 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 4 May 2022 13:14:34 +0000 Subject: [PATCH 32/84] =?UTF-8?q?atk:=202.36.0=20=E2=86=92=202.38.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/atk/-/compare/ATK_2_36_0...2.38.0 Also clean up the expression to match the rest of the GNOME package set. --- pkgs/development/libraries/atk/default.nix | 55 +++++++++++++--------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index 08e6e5b0e41b..ce3352b5751e 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -1,29 +1,26 @@ -{ lib, stdenv, fetchurl, meson, ninja, gettext, pkg-config, glib -, fixDarwinDylibNames, gobject-introspection, gnome +{ stdenv +, lib +, fetchurl +, meson +, ninja +, gettext +, pkg-config +, glib +, fixDarwinDylibNames +, gobject-introspection +, gnome }: -let - pname = "atk"; - version = "2.36.0"; -in - stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"; - }; + pname = "atk"; + version = "2.38.0"; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection glib ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - propagatedBuildInputs = [ - # Required by atk.pc - glib - ]; + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "rE3ipO9L1WZQUpUv4WllfmXolcUFff+zwqgQ9hkaDDY="; + }; patches = [ # meson builds an incorrect .pc file @@ -31,6 +28,22 @@ stdenv.mkDerivation rec { ./fix_pc.patch ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + gobject-introspection + glib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; + + propagatedBuildInputs = [ + # Required by atk.pc + glib + ]; + mesonFlags = [ "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; @@ -55,7 +68,7 @@ stdenv.mkDerivation rec { control running applications. ''; - homepage = "http://library.gnome.org/devel/atk/"; + homepage = "https://gitlab.gnome.org/GNOME/atk"; license = lib.licenses.lgpl2Plus; From 648539391106a7a48abd1d3be45bb0930747984d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 4 May 2022 13:17:23 +0000 Subject: [PATCH 33/84] =?UTF-8?q?pango:=201.50.6=20=E2=86=92=201.50.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/pango/-/compare/1.50.6...1.50.7 --- pkgs/development/libraries/pango/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index ee79d5370594..13dd24b54828 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -24,14 +24,14 @@ stdenv.mkDerivation rec { pname = "pango"; - version = "1.50.6"; + version = "1.50.7"; outputs = [ "bin" "out" "dev" ] ++ lib.optionals withDocs [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "qZi882iBw6wgSV1AvOswT06qkXW9KWfIVlZDTL2v6Go="; + sha256 = "BHfzaaPUxpXfcpmmmJ3ABHVqf03ifuysQFxnkLfjrTM="; }; strictDeps = !withIntrospection; From 92f4d121a64db24022738fa1812fb7a1b1b1a742 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 4 May 2022 13:17:27 +0000 Subject: [PATCH 34/84] =?UTF-8?q?python3.pkgs.pygobject3:=203.42.0=20?= =?UTF-8?q?=E2=86=92=203.42.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/pygobject/-/compare/3.42.0...3.42.1 --- pkgs/development/python-modules/pygobject/3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index dec84b4eccff..447d49a9442e 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "pygobject"; - version = "3.42.0"; + version = "3.42.1"; outputs = [ "out" "dev" ]; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "mxJhbjLPx5L53IQdnEcqQaNbhbpn06brQn4wem/kNns="; + sha256 = "HzS192JN415E61p+tCg1MoW9AwBNVRMaX39/qbkPPMk="; }; nativeBuildInputs = [ From 0bf838dc6eab2a9e3d21d1a7fa758467874005bb Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 6 May 2022 21:39:16 +0300 Subject: [PATCH 35/84] dgsh: mark broken --- pkgs/shells/dgsh/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/shells/dgsh/default.nix b/pkgs/shells/dgsh/default.nix index 7a6ae67c3ae8..2c98938b46d7 100644 --- a/pkgs/shells/dgsh/default.nix +++ b/pkgs/shells/dgsh/default.nix @@ -41,5 +41,8 @@ stdenv.mkDerivation { license = with licenses; asl20; maintainers = with maintainers; [ vrthra ]; platforms = with platforms; all; + # lib/freadseek.c:68:3: error: #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your > + # 68 | #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report > + broken = true; # marked 2022-05-06 }; } From ea79263e608224491030a0cdf27b9f11ecff2928 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 6 May 2022 21:39:28 +0300 Subject: [PATCH 36/84] pkgs/shells: enable strictDeps --- pkgs/shells/any-nix-shell/default.nix | 4 +++- pkgs/shells/bash/bash-completion/default.nix | 1 + pkgs/shells/bash/nix-bash-completions/default.nix | 1 + pkgs/shells/bash/undistract-me/default.nix | 2 ++ pkgs/shells/bash/yarn-completion/default.nix | 1 + pkgs/shells/dash/default.nix | 1 + pkgs/shells/elvish/default.nix | 1 + pkgs/shells/es/default.nix | 4 +++- pkgs/shells/fish/default.nix | 1 + pkgs/shells/fish/oh-my-fish/default.nix | 3 +++ pkgs/shells/jush/default.nix | 1 + pkgs/shells/liquidprompt/default.nix | 1 + pkgs/shells/loksh/default.nix | 2 +- pkgs/shells/mksh/default.nix | 1 + pkgs/shells/mrsh/default.nix | 1 + pkgs/shells/oil/default.nix | 1 + pkgs/shells/oksh/default.nix | 2 ++ pkgs/shells/pash/default.nix | 1 + pkgs/shells/powershell/default.nix | 1 + pkgs/shells/rc/default.nix | 1 + pkgs/shells/rush/default.nix | 10 +++++++++- pkgs/shells/scponly/default.nix | 11 ++++++----- pkgs/shells/tcsh/default.nix | 1 + pkgs/shells/yash/default.nix | 1 + pkgs/shells/zsh/agkozak-zsh-prompt/default.nix | 1 + pkgs/shells/zsh/antigen/default.nix | 1 + pkgs/shells/zsh/default.nix | 3 ++- pkgs/shells/zsh/fzf-zsh/default.nix | 1 + pkgs/shells/zsh/gradle-completion/default.nix | 2 ++ pkgs/shells/zsh/grml-zsh-config/default.nix | 4 +++- pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix | 1 + pkgs/shells/zsh/nix-zsh-completions/default.nix | 1 + pkgs/shells/zsh/oh-my-zsh/default.nix | 5 ++++- pkgs/shells/zsh/pure-prompt/default.nix | 1 + pkgs/shells/zsh/spaceship-prompt/default.nix | 1 + pkgs/shells/zsh/zinit/default.nix | 1 + pkgs/shells/zsh/zplug/default.nix | 1 + pkgs/shells/zsh/zsh-autocomplete/default.nix | 1 + pkgs/shells/zsh/zsh-autopair/default.nix | 2 ++ pkgs/shells/zsh/zsh-autosuggestions/default.nix | 1 + pkgs/shells/zsh/zsh-bd/default.nix | 1 + pkgs/shells/zsh/zsh-better-npm-completion/default.nix | 1 + pkgs/shells/zsh/zsh-clipboard/default.nix | 1 + pkgs/shells/zsh/zsh-command-time/default.nix | 1 + pkgs/shells/zsh/zsh-completions/default.nix | 1 + pkgs/shells/zsh/zsh-deer/default.nix | 2 ++ .../zsh/zsh-fast-syntax-highlighting/default.nix | 1 + pkgs/shells/zsh/zsh-fzf-tab/default.nix | 1 + .../zsh/zsh-history-search-multi-word/default.nix | 1 + .../zsh/zsh-history-substring-search/default.nix | 1 + pkgs/shells/zsh/zsh-nix-shell/default.nix | 4 +++- pkgs/shells/zsh/zsh-powerlevel10k/default.nix | 5 ++++- pkgs/shells/zsh/zsh-powerlevel9k/default.nix | 1 + pkgs/shells/zsh/zsh-prezto/default.nix | 5 ++++- pkgs/shells/zsh/zsh-syntax-highlighting/default.nix | 1 + pkgs/shells/zsh/zsh-system-clipboard/default.nix | 1 + pkgs/shells/zsh/zsh-vi-mode/default.nix | 1 + pkgs/shells/zsh/zsh-you-should-use/default.nix | 1 + pkgs/shells/zsh/zsh-z/default.nix | 1 + pkgs/tools/misc/shellspec/default.nix | 4 +++- 60 files changed, 100 insertions(+), 16 deletions(-) diff --git a/pkgs/shells/any-nix-shell/default.nix b/pkgs/shells/any-nix-shell/default.nix index 3bd41a53844c..095347a3ca99 100644 --- a/pkgs/shells/any-nix-shell/default.nix +++ b/pkgs/shells/any-nix-shell/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper }: +{ lib, stdenv, fetchFromGitHub, makeWrapper, bash }: stdenv.mkDerivation rec { pname = "any-nix-shell"; @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "0q27rhjhh7k0qgcdcfm8ly5za6wm4rckh633d0sjz87faffkp90k"; }; + strictDeps = true; nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bash ]; installPhase = '' mkdir -p $out/bin cp -r bin $out diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix index 6571d572a429..75ded461ea63 100644 --- a/pkgs/shells/bash/bash-completion/default.nix +++ b/pkgs/shells/bash/bash-completion/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { sha256 = "1b0iz7da1sgifx1a5wdyx1kxbzys53v0kyk8nhxfipllmm5qka3k"; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook ]; # tests are super flaky unfortunately, and regularily break. diff --git a/pkgs/shells/bash/nix-bash-completions/default.nix b/pkgs/shells/bash/nix-bash-completions/default.nix index 089e5dfc702f..c4282ab0f646 100644 --- a/pkgs/shells/bash/nix-bash-completions/default.nix +++ b/pkgs/shells/bash/nix-bash-completions/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1n5zs6xcnv4bv1hdaypmz7fv4j7dsr4a0ifah99iyj4p5j85i1bc"; }; + strictDeps = true; # To enable lazy loading via. bash-completion we need a symlink to the script # from every command name. installPhase = '' diff --git a/pkgs/shells/bash/undistract-me/default.nix b/pkgs/shells/bash/undistract-me/default.nix index 9ed5544713d7..b15903e779ea 100644 --- a/pkgs/shells/bash/undistract-me/default.nix +++ b/pkgs/shells/bash/undistract-me/default.nix @@ -43,6 +43,8 @@ stdenvNoCC.mkDerivation rec { }) ]; + strictDeps = true; + # Patch in dependencies. Can't use makeWrapper because the bash # functions will be sourced and invoked in a different environment # for each command invocation. diff --git a/pkgs/shells/bash/yarn-completion/default.nix b/pkgs/shells/bash/yarn-completion/default.nix index fabfc0a1ce23..48d1f42b5ced 100644 --- a/pkgs/shells/bash/yarn-completion/default.nix +++ b/pkgs/shells/bash/yarn-completion/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { sha256 = "0xflbrbwskjqv3knvc8jqygpvfxh5ak66q7w22d1ng8gwrfqzcng"; }; + strictDeps = true; nativeBuildInputs = [ installShellFiles ]; installPhase = '' diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix index a1f789dc3a33..f33fd5520f86 100644 --- a/pkgs/shells/dash/default.nix +++ b/pkgs/shells/dash/default.nix @@ -35,6 +35,7 @@ stdenv.mkDerivation rec { }) ]; + strictDeps = true; # configure.ac patched; remove on next release nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix index fc61efc3006c..f0c5611e3b3c 100644 --- a/pkgs/shells/elvish/default.nix +++ b/pkgs/shells/elvish/default.nix @@ -17,6 +17,7 @@ buildGoModule rec { vendorSha256 = "sha256-iuklI7XEQUgZ2ObYRROxyiccZ1JkajK5OJA7hIcpRZQ="; + strictDeps = true; doCheck = false; doInstallCheck = true; diff --git a/pkgs/shells/es/default.nix b/pkgs/shells/es/default.nix index 8cc49bd39ebd..308a684e6f68 100644 --- a/pkgs/shells/es/default.nix +++ b/pkgs/shells/es/default.nix @@ -17,7 +17,9 @@ stdenv.mkDerivation rec { sourceRoot=. ''; - buildInputs = [ readline bison ]; + strictDeps = true; + nativeBuildInputs = [ bison ]; + buildInputs = [ readline ]; configureFlags = [ "--with-readline" ]; diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 4c45fd3a75f4..e9555c7f21f8 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -186,6 +186,7 @@ let rm tests/pexpects/exit_handlers.py ''; + strictDeps = true; nativeBuildInputs = [ cmake gettext diff --git a/pkgs/shells/fish/oh-my-fish/default.nix b/pkgs/shells/fish/oh-my-fish/default.nix index 3ec4e3b12d78..252e9350eaf1 100644 --- a/pkgs/shells/fish/oh-my-fish/default.nix +++ b/pkgs/shells/fish/oh-my-fish/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitHub , fish +, bash , runtimeShell , writeShellScript }: @@ -17,8 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-lwMo4+PcYR9kYJPWK+ALiMfBdxFSgB2vjtSn8QrmmEA="; }; + strictDeps = true; buildInputs = [ fish + bash ]; dontConfigure = true; diff --git a/pkgs/shells/jush/default.nix b/pkgs/shells/jush/default.nix index 12cd6c935c05..a09024608bb6 100644 --- a/pkgs/shells/jush/default.nix +++ b/pkgs/shells/jush/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1azvghrh31gawd798a254ml4id642qvbva64zzg30pjszh1087n8"; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ editline ]; diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix index 8575f6439b9c..4f06225e94f6 100644 --- a/pkgs/shells/liquidprompt/default.nix +++ b/pkgs/shells/liquidprompt/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-ntCfXJUOQqL63HWoG+WJr9a+qB16AaL5zf58039t7GU="; }; + strictDeps = true; installPhase = '' install -D -m 0444 liquidprompt $out/bin/liquidprompt install -D -m 0444 liquidpromptrc-dist $out/share/doc/liquidprompt/liquidpromptrc-dist diff --git a/pkgs/shells/loksh/default.nix b/pkgs/shells/loksh/default.nix index b9f7d5ef7e7f..5b304e45c5b5 100644 --- a/pkgs/shells/loksh/default.nix +++ b/pkgs/shells/loksh/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-q5RiY9/xEFCk+oHlxgNwDOB+TNjRWHKzU2kQH2LjCWY="; }; + strictDeps = true; nativeBuildInputs = [ meson ninja @@ -47,4 +48,3 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } - diff --git a/pkgs/shells/mksh/default.nix b/pkgs/shells/mksh/default.nix index 360380e19b34..25aec71900bd 100644 --- a/pkgs/shells/mksh/default.nix +++ b/pkgs/shells/mksh/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { hash = "sha256-d64WZaM38cSMYda5Yds+UhGbOOWIhNHIloSvMfh7xQY="; }; + strictDeps = true; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/shells/mrsh/default.nix b/pkgs/shells/mrsh/default.nix index be87b97ebd72..2b9bc4e3e22e 100644 --- a/pkgs/shells/mrsh/default.nix +++ b/pkgs/shells/mrsh/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0vvdwzw3fq74lwgmy6xxkk01sd68fzhsw84c750lm1dma22xhjci"; }; + strictDeps = true; nativeBuildInputs = [ meson ninja pkg-config ]; buildInputs = [ readline ]; diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix index 2b82d4882789..f99c285a4f0f 100644 --- a/pkgs/shells/oil/default.nix +++ b/pkgs/shells/oil/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin ''; + strictDeps = true; buildInputs = lib.optional withReadline readline; configureFlags = lib.optional withReadline "--with-readline"; diff --git a/pkgs/shells/oksh/default.nix b/pkgs/shells/oksh/default.nix index 418a453d9e9a..c56bd179c74f 100644 --- a/pkgs/shells/oksh/default.nix +++ b/pkgs/shells/oksh/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-076nD0aPps6n5qkR3LQJ6Kn2g3mkov+/M0qSvxNLZ6o="; }; + strictDeps = true; + postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' substituteInPlace configure --replace "./conftest" "echo" ''; diff --git a/pkgs/shells/pash/default.nix b/pkgs/shells/pash/default.nix index 431091bf8d1c..c9150fda18ae 100644 --- a/pkgs/shells/pash/default.nix +++ b/pkgs/shells/pash/default.nix @@ -11,6 +11,7 @@ buildDotnetPackage { sha256 = "0c4wa8qi1zs01p9ck171jkw0n1rsymsrhpsb42gl7warwhpmv59f"; }; + strictDeps = true; preConfigure = "rm -rvf $src/Source/PashConsole/bin/*"; outputFiles = [ "Source/PashConsole/bin/Release/*" ]; diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix index 19ca69ecb947..1bd19817268a 100644 --- a/pkgs/shells/powershell/default.nix +++ b/pkgs/shells/powershell/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation rec { stripRoot = false; }; + strictDeps = true; buildInputs = [ less ] ++ libraries; nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isLinux autoPatchelfHook; diff --git a/pkgs/shells/rc/default.nix b/pkgs/shells/rc/default.nix index af43c42dd4bd..7b4d58b0cbd6 100644 --- a/pkgs/shells/rc/default.nix +++ b/pkgs/shells/rc/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { sha256 = "1n5zz6d6z4z6s3fwa0pscqqawy561k4xfnmi91i626hcvls67ljy"; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ ncurses ] ++ lib.optionals (readline != null) [ readline ]; diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix index d840c3b77a5c..c9560c86f24c 100644 --- a/pkgs/shells/rush/default.nix +++ b/pkgs/shells/rush/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv }: +{ fetchurl, lib, stdenv, bash, perl }: stdenv.mkDerivation rec { pname = "rush"; @@ -9,6 +9,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-ld5TdpF7siprQCbhE4oxYhH40x3QZ5NCQlD3zRaNmM0="; }; + strictDeps = true; + buildInputs = [ bash ]; + + postInstall = '' + substituteInPlace $out/bin/rush-po \ + --replace "exec perl" "exec ${lib.getExe perl}" + ''; + doCheck = true; meta = { diff --git a/pkgs/shells/scponly/default.nix b/pkgs/shells/scponly/default.nix index c0c39d8e3164..f15f04cfe227 100644 --- a/pkgs/shells/scponly/default.nix +++ b/pkgs/shells/scponly/default.nix @@ -13,14 +13,15 @@ stdenv.mkDerivation { patches = [ ./scponly-fix-make.patch ]; - buildInputs = [ openssh ]; - - # Add path to sftp-server so configure finds it - preConfigure = "export PATH=$PATH:${openssh}/libexec"; + strictDeps = true; # chroot doesn't seem to work, so not enabling # rsync could also be optionally enabled - configureFlags = [ "--enable-winscp-compat" ]; + configureFlags = [ + "--enable-winscp-compat" + "scponly_PROG_SFTP_SERVER=${lib.getBin openssh}/libexec/sftp-server" + "scponly_PROG_SCP=${lib.getBin openssh}/bin/scp" + ]; postInstall = lib.optionalString (debugLevel > 0) '' mkdir -p $out/etc/scponly && echo ${ diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix index 4357ca605b17..4fac6eb13d64 100644 --- a/pkgs/shells/tcsh/default.nix +++ b/pkgs/shells/tcsh/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { hash = "sha256-YL4sUEvY8fpuQksZVkldfnztUqKslNtf0n9La/yPdPA="; }; + strictDeps = true; buildInputs = [ ncurses ]; diff --git a/pkgs/shells/yash/default.nix b/pkgs/shells/yash/default.nix index 44faf5c4e027..01340df5e9a1 100644 --- a/pkgs/shells/yash/default.nix +++ b/pkgs/shells/yash/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { sha256 = "sha256:1jdmj4cyzwxxyyqf20y1zi578h7md860ryffp02qi143zpppn4sm"; }; + strictDeps = true; buildInputs = [ gettext ncurses ]; meta = with lib; { diff --git a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix index 91d1bd3022b2..5f9573b71aa7 100644 --- a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix +++ b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-TOfAWxw1uIV0hKV9o4EJjOlp+jmGWCONDex86ipegOY="; }; + strictDeps = true; dontConfigure = true; dontBuild = true; diff --git a/pkgs/shells/zsh/antigen/default.nix b/pkgs/shells/zsh/antigen/default.nix index 9a69f90dca34..ca5fbee6e368 100644 --- a/pkgs/shells/zsh/antigen/default.nix +++ b/pkgs/shells/zsh/antigen/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1bmp3qf14509swpxin4j9f98n05pdilzapjm0jdzbv0dy3hn20ix"; }; + strictDeps = true; dontUnpack = true; installPhase = '' diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index 5a2c0d050ce0..f09a0672f19a 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -30,7 +30,8 @@ stdenv.mkDerivation { ./tz_completion.patch ]; - nativeBuildInputs = [ autoreconfHook perl groff texinfo ] + strictDeps = true; + nativeBuildInputs = [ autoreconfHook perl groff texinfo pcre] ++ lib.optionals stdenv.isLinux [ util-linux yodl ]; buildInputs = [ ncurses pcre ]; diff --git a/pkgs/shells/zsh/fzf-zsh/default.nix b/pkgs/shells/zsh/fzf-zsh/default.nix index ac5cab94d4cb..aa5af013e43e 100644 --- a/pkgs/shells/zsh/fzf-zsh/default.nix +++ b/pkgs/shells/zsh/fzf-zsh/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1irjmxhcg1fm4g8p3psjqk7sz5qhj5kw73pyhv91njvpdhn9l26z"; }; + strictDeps = true; postPatch = '' substituteInPlace fzf-zsh.plugin.zsh \ --replace \ diff --git a/pkgs/shells/zsh/gradle-completion/default.nix b/pkgs/shells/zsh/gradle-completion/default.nix index bf5969d1300a..fa40db3603b9 100644 --- a/pkgs/shells/zsh/gradle-completion/default.nix +++ b/pkgs/shells/zsh/gradle-completion/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "15b0692i3h8h7b95465b2aw9qf5qjmjag5n62347l8yl7zbhv3l2"; }; + strictDeps = true; + # we just move two files into $out, # this shouldn't bother Hydra. preferLocalBuild = true; diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix index 538fbc0a5223..feb55d9ccdef 100644 --- a/pkgs/shells/zsh/grml-zsh-config/default.nix +++ b/pkgs/shells/zsh/grml-zsh-config/default.nix @@ -14,7 +14,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-GEuBYN6HVAjiAbusVuEA7zBG9fIVZHLV628Jt6Cv5cM="; }; - buildInputs = [ zsh coreutils txt2tags procps ] + strictDeps = true; + nativeBuildInputs = [ txt2tags ]; + buildInputs = [ zsh coreutils procps ] ++ optional stdenv.isLinux inetutils; buildPhase = '' diff --git a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix index e8d00d73d1aa..eae5f77904b5 100644 --- a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix +++ b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation { sha256 = "0fvxnvgbcvwii7ghvpj5l43frllq71wwjvfg7cqfmic727z001dh"; }; + strictDeps = true; installPhase = '' install -Dm0644 lambda-mod.zsh-theme $out/share/zsh/themes/lambda-mod.zsh-theme ''; diff --git a/pkgs/shells/zsh/nix-zsh-completions/default.nix b/pkgs/shells/zsh/nix-zsh-completions/default.nix index 472cc47459cf..dab73419ab55 100644 --- a/pkgs/shells/zsh/nix-zsh-completions/default.nix +++ b/pkgs/shells/zsh/nix-zsh-completions/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1n9whlys95k4wc57cnz3n07p7zpkv796qkmn68a50ygkx6h3afqf"; }; + strictDeps = true; installPhase = '' mkdir -p $out/share/zsh/{site-functions,plugins/nix} cp _* $out/share/zsh/site-functions diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 447dc5da78a1..84c3a1abf28d 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -2,7 +2,7 @@ # # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oh-my-zsh-git { lib, stdenv, fetchFromGitHub, nixosTests, writeScript, common-updater-scripts -, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }: +, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert, bash }: stdenv.mkDerivation rec { version = "2022-04-24"; @@ -16,6 +16,9 @@ stdenv.mkDerivation rec { sha256 = "yxuvVDjNCH7r/g6ZoF8kEzwirBB0s+CRQizBwRR4Sp4="; }; + strictDeps = true; + buildInputs = [ bash ]; + installPhase = '' runHook preInstall diff --git a/pkgs/shells/zsh/pure-prompt/default.nix b/pkgs/shells/zsh/pure-prompt/default.nix index 09be79d6fbcc..994f223b58da 100644 --- a/pkgs/shells/zsh/pure-prompt/default.nix +++ b/pkgs/shells/zsh/pure-prompt/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-iuLi0o++e0PqK81AKWfIbCV0CTIxq2Oki6U2oEYsr68="; }; + strictDeps = true; installPhase = '' OUTDIR="$out/share/zsh/site-functions" mkdir -p "$OUTDIR" diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix index 5bdcb21f8ddc..7dfbb14eec65 100644 --- a/pkgs/shells/zsh/spaceship-prompt/default.nix +++ b/pkgs/shells/zsh/spaceship-prompt/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-4G1+K6ENLwChtivR7Ura0vl6Ph9Wae3SOXCW1pNbgHI="; }; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/shells/zsh/zinit/default.nix b/pkgs/shells/zsh/zinit/default.nix index 9946d7d0c3a5..ca8b7ea2e46a 100644 --- a/pkgs/shells/zsh/zinit/default.nix +++ b/pkgs/shells/zsh/zinit/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { }; # adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zsh-zplugin-git dontBuild = true; + strictDeps = true; nativeBuildInputs = [ installShellFiles ]; installPhase = '' outdir="$out/share/$pname" diff --git a/pkgs/shells/zsh/zplug/default.nix b/pkgs/shells/zsh/zplug/default.nix index d35eb345dda9..b31b14ec77a4 100644 --- a/pkgs/shells/zsh/zplug/default.nix +++ b/pkgs/shells/zsh/zplug/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0hci1pbs3k5icwfyfw5pzcgigbh9vavprxxvakg1xm19n8zb61b3"; }; + strictDeps = true; dontConfigure = true; dontBuild = true; dontPatch = true; diff --git a/pkgs/shells/zsh/zsh-autocomplete/default.nix b/pkgs/shells/zsh/zsh-autocomplete/default.nix index 14ea0ec8f63c..a5683c43227a 100644 --- a/pkgs/shells/zsh/zsh-autocomplete/default.nix +++ b/pkgs/shells/zsh/zsh-autocomplete/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-+UziTYsjgpiumSulrLojuqHtDrgvuG91+XNiaMD7wIs="; }; + strictDeps = true; installPhase = '' install -D zsh-autocomplete.plugin.zsh $out/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh cp -R scripts $out/share/zsh-autocomplete/scripts diff --git a/pkgs/shells/zsh/zsh-autopair/default.nix b/pkgs/shells/zsh/zsh-autopair/default.nix index 0cc1535e53ae..73b70c00405a 100644 --- a/pkgs/shells/zsh/zsh-autopair/default.nix +++ b/pkgs/shells/zsh/zsh-autopair/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1"; }; + strictDeps = true; + installPhase = '' install -D autopair.zsh $out/share/zsh/${pname}/autopair.zsh ''; diff --git a/pkgs/shells/zsh/zsh-autosuggestions/default.nix b/pkgs/shells/zsh/zsh-autosuggestions/default.nix index e261cdedc74b..b1df50a9c681 100644 --- a/pkgs/shells/zsh/zsh-autosuggestions/default.nix +++ b/pkgs/shells/zsh/zsh-autosuggestions/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { sha256 = "1g3pij5qn2j7v7jjac2a63lxd97mcsgw6xq6k5p7835q9fjiid98"; }; + strictDeps = true; buildInputs = [ zsh ]; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-bd/default.nix b/pkgs/shells/zsh/zsh-bd/default.nix index f2c2dc90fb4e..ebfa55ecd229 100644 --- a/pkgs/shells/zsh/zsh-bd/default.nix +++ b/pkgs/shells/zsh/zsh-bd/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "020f8nq86g96cps64hwrskppbh2dapfw2m9np1qbs5pgh16z4fcb"; }; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-better-npm-completion/default.nix b/pkgs/shells/zsh/zsh-better-npm-completion/default.nix index 372d49eaeb7e..d9a813bbbfdd 100644 --- a/pkgs/shells/zsh/zsh-better-npm-completion/default.nix +++ b/pkgs/shells/zsh/zsh-better-npm-completion/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "16z7k5n1rcl9i61lrm7i5dsqsmhvdp1y4y5ii6hv2xpp470addgy"; }; + strictDeps = true; installPhase = '' install -Dm 0644 zsh-better-npm-completion.plugin.zsh $out/share/zsh-better-npm-completion ''; diff --git a/pkgs/shells/zsh/zsh-clipboard/default.nix b/pkgs/shells/zsh/zsh-clipboard/default.nix index 114e0bfd7dc5..eb395d744728 100644 --- a/pkgs/shells/zsh/zsh-clipboard/default.nix +++ b/pkgs/shells/zsh/zsh-clipboard/default.nix @@ -6,6 +6,7 @@ stdenv.mkDerivation rec { src = ./.; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-command-time/default.nix b/pkgs/shells/zsh/zsh-command-time/default.nix index b92ced6be71c..c10b67c2b3de 100644 --- a/pkgs/shells/zsh/zsh-command-time/default.nix +++ b/pkgs/shells/zsh/zsh-command-time/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation { sha256 = "1bvyjgz6bhgg1nwr56r50p6fblgah6yiql55pgm5abnn2h876fjq"; }; + strictDeps = true; dontUnpack = true; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix index 249826a2a25f..937114e982e6 100644 --- a/pkgs/shells/zsh/zsh-completions/default.nix +++ b/pkgs/shells/zsh/zsh-completions/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0vs14n29wvkai84fvz3dz2kqznwsq2i5fzbwpv8nsfk1126ql13i"; }; + strictDeps = true; installPhase= '' install -D --target-directory=$out/share/zsh/site-functions src/* ''; diff --git a/pkgs/shells/zsh/zsh-deer/default.nix b/pkgs/shells/zsh/zsh-deer/default.nix index ab544d7c3147..0d3a6bc9ee61 100644 --- a/pkgs/shells/zsh/zsh-deer/default.nix +++ b/pkgs/shells/zsh/zsh-deer/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "1xnbnbi0zk2xsyn8dqsmyxqlfnl36pb1wwibnlp0dxixw6sfymyl"; }; + strictDeps = true; + prePatch = '' substituteInPlace deer \ --replace " perl " " ${perl}/bin/perl " diff --git a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix index 5b77978c0221..68f09828b456 100644 --- a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix +++ b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "0h7f27gz586xxw7cc0wyiv3bx0x3qih2wwh05ad85bh2h834ar8d"; }; + strictDeps = true; dontConfigure = true; dontBuild = true; diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix index 6d8ea1a9de9d..2915682ec966 100644 --- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix +++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix @@ -13,6 +13,7 @@ in stdenv.mkDerivation rec { sha256 = "h/3XP/BiNnUgQI29gEBl6RFee77WDhFyvsnTi1eRbKg="; }; + strictDeps = true; buildInputs = [ ncurses ]; patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ]; diff --git a/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix b/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix index 09d2136ea26c..30d26c967662 100644 --- a/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix +++ b/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "11r2mmy6bg3b6pf6qc0ml3idh333cj8yz754hrvd1sc4ipfkkqh7"; }; + strictDeps = true; dontConfigure = true; dontBuild = true; diff --git a/pkgs/shells/zsh/zsh-history-substring-search/default.nix b/pkgs/shells/zsh/zsh-history-substring-search/default.nix index 9890993eed64..63e5fe8281e3 100644 --- a/pkgs/shells/zsh/zsh-history-substring-search/default.nix +++ b/pkgs/shells/zsh/zsh-history-substring-search/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y"; }; + strictDeps = true; installPhase = '' install -D zsh-history-substring-search.zsh \ "$out/share/zsh-history-substring-search/zsh-history-substring-search.zsh" diff --git a/pkgs/shells/zsh/zsh-nix-shell/default.nix b/pkgs/shells/zsh/zsh-nix-shell/default.nix index 8b463eda573e..e46a5cf727ce 100644 --- a/pkgs/shells/zsh/zsh-nix-shell/default.nix +++ b/pkgs/shells/zsh/zsh-nix-shell/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, pkgs }: +{ lib, stdenv, fetchFromGitHub, bash }: # To make use of this derivation, use # `programs.zsh.interactiveShellInit = "source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh";` @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-719lVo6p55G1tt3+6nMhZ904nyvlq0Q5exb0il36/Aw="; }; + strictDeps = true; + buildInputs = [ bash ]; installPhase = '' install -D nix-shell.plugin.zsh --target-directory=$out/share/zsh-nix-shell install -D scripts/* --target-directory=$out/share/zsh-nix-shell/scripts diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix index 19d3e70c0a3a..cdda7d81f41d 100644 --- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix +++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, pkgs }: +{ lib, stdenv, fetchFromGitHub, substituteAll, pkgs, bash }: # To make use of this derivation, use # `programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";` @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { sha256 = "0fkfh8j7rd8mkpgz6nsx4v7665d375266shl1aasdad8blgqmf0c"; }; + strictDeps = true; + buildInputs = [ bash ]; + patches = [ (substituteAll { src = ./gitstatusd.patch; diff --git a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix index b681dc2d3a3a..27e3a648e2b3 100644 --- a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix +++ b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation { sha256 = "0v1dqg9hvycdkcvklg2njff97xwr8rah0nyldv4xm39r77f4yfvq"; }; + strictDeps = true; installPhase= '' install -D powerlevel9k.zsh-theme --target-directory=$out/share/zsh-powerlevel9k install -D functions/* --target-directory=$out/share/zsh-powerlevel9k/functions diff --git a/pkgs/shells/zsh/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix index e4bbd7a8b64a..6201e42c0c02 100644 --- a/pkgs/shells/zsh/zsh-prezto/default.nix +++ b/pkgs/shells/zsh/zsh-prezto/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, unstableGitUpdater }: +{ lib, stdenv, fetchFromGitHub, unstableGitUpdater, bash }: stdenv.mkDerivation rec { pname = "zsh-prezto"; @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + strictDeps = true; + buildInputs = [ bash ]; + postPatch = '' # make zshrc aware of where zsh-prezto is installed sed -i -e "s|\''${ZDOTDIR:\-\$HOME}/.zprezto/|$out/share/zsh-prezto/|g" runcoms/zshrc diff --git a/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix index 09d6eb3cf963..ef76798ccf48 100644 --- a/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix +++ b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { sha256 = "03r6hpb5fy4yaakqm3lbf4xcvd408r44jgpv4lnzl9asp4sb9qc0"; }; + strictDeps = true; buildInputs = [ zsh ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/shells/zsh/zsh-system-clipboard/default.nix b/pkgs/shells/zsh/zsh-system-clipboard/default.nix index b4d407a70bc9..6e875b6ee086 100644 --- a/pkgs/shells/zsh/zsh-system-clipboard/default.nix +++ b/pkgs/shells/zsh/zsh-system-clipboard/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "09lqav1mz5zajklr3xa0iaivhpykv3azkjb7yj9wyp0hq3vymp8i"; }; + strictDeps = true; installPhase = '' install -D zsh-system-clipboard.zsh $out/share/zsh/${pname}/zsh-system-clipboard.zsh ''; diff --git a/pkgs/shells/zsh/zsh-vi-mode/default.nix b/pkgs/shells/zsh/zsh-vi-mode/default.nix index 32f1e9c024ac..73eae88b71df 100644 --- a/pkgs/shells/zsh/zsh-vi-mode/default.nix +++ b/pkgs/shells/zsh/zsh-vi-mode/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "EOYqHh0rcgoi26eopm6FTl81ehak5kXMmzNcnJDH8/E="; }; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-you-should-use/default.nix b/pkgs/shells/zsh/zsh-you-should-use/default.nix index 8019e75a8594..95cdb3273c54 100644 --- a/pkgs/shells/zsh/zsh-you-should-use/default.nix +++ b/pkgs/shells/zsh/zsh-you-should-use/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1dz48rd66priqhxx7byndqhbmlwxi1nfw8ik25k0z5k7k754brgy"; }; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-z/default.nix b/pkgs/shells/zsh/zsh-z/default.nix index 9623ff6648cd..a03b81cb6bfd 100644 --- a/pkgs/shells/zsh/zsh-z/default.nix +++ b/pkgs/shells/zsh/zsh-z/default.nix @@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-HnwUWqzwavh/Qox+siOe5lwTp7PBdiYx+9M0NMNFx00="; }; + strictDeps = true; dontBuild = true; installPhase = '' diff --git a/pkgs/tools/misc/shellspec/default.nix b/pkgs/tools/misc/shellspec/default.nix index 27eead6e1c3a..480ada8d5716 100644 --- a/pkgs/tools/misc/shellspec/default.nix +++ b/pkgs/tools/misc/shellspec/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub }: +{ lib, stdenv, fetchFromGitHub, bash }: stdenv.mkDerivation rec { pname = "shellspec"; @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "1ib5qp29f2fmivwnv6hq35qhvdxz42xgjlkvy0i3qn758riyqf46"; }; + strictDeps = true; + buildInputs = [ bash ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; checkPhase = '' From 4f180210a094506ea9fa8f700012b993a7aed334 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 6 May 2022 22:44:36 +0300 Subject: [PATCH 37/84] bash: enable strictDeps --- pkgs/shells/bash/5.1.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix index a30c9a4a5072..7cd7fb6905cb 100644 --- a/pkgs/shells/bash/5.1.nix +++ b/pkgs/shells/bash/5.1.nix @@ -71,6 +71,7 @@ stdenv.mkDerivation rec { "--disable-nls" ]; + strictDeps = true; # Note: Bison is needed because the patches above modify parse.y. depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison ] @@ -98,7 +99,7 @@ stdenv.mkDerivation rec { if interactive then '' substituteInPlace "$out/bin/bashbug" \ - --replace '${stdenv.shell}' "$out/bin/bash" + --replace '#!/bin/sh' "#!$out/bin/bash" '' # most space is taken by locale data else '' From 283500ede38216fd0ec331d552ab7bf2198252be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 01:39:36 +0200 Subject: [PATCH 38/84] python310Packages.func-timeout: init at 4.3.5 --- .../python-modules/func-timeout/default.nix | 29 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/python-modules/func-timeout/default.nix diff --git a/pkgs/development/python-modules/func-timeout/default.nix b/pkgs/development/python-modules/func-timeout/default.nix new file mode 100644 index 000000000000..f20f5dde8b4b --- /dev/null +++ b/pkgs/development/python-modules/func-timeout/default.nix @@ -0,0 +1,29 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "func-timeout"; + version = "4.3.5"; + + src = fetchPypi { + pname = "func_timeout"; + inherit version; + sha256 = "74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "func_timeout" ]; + + meta = with lib; { + description = "Allows you to specify timeouts when calling any existing function. Also provides support for stoppable-threads"; + homepage = "https://github.com/kata198/func_timeout"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 50ed104cbe80..52a7e7eb06fd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3215,6 +3215,8 @@ in { ftputil = callPackage ../development/python-modules/ftputil { }; + func-timeout = callPackage ../development/python-modules/func-timeout { }; + funcparserlib = callPackage ../development/python-modules/funcparserlib { }; funcsigs = callPackage ../development/python-modules/funcsigs { }; From 34a388a7ddf77579a6030c679a8b6cff8549e48c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 01:39:19 +0200 Subject: [PATCH 39/84] python310Packages.zipp: adopt, execute tests --- .../python-modules/zipp/default.nix | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/zipp/default.nix b/pkgs/development/python-modules/zipp/default.nix index 0f64df2a56ac..253962910acb 100644 --- a/pkgs/development/python-modules/zipp/default.nix +++ b/pkgs/development/python-modules/zipp/default.nix @@ -1,12 +1,13 @@ { lib , buildPythonPackage , fetchPypi -, more-itertools +, func-timeout +, jaraco_itertools , pythonOlder , setuptools-scm }: -buildPythonPackage rec { +let zipp = buildPythonPackage rec { pname = "zipp"; version = "3.7.0"; format = "setuptools"; @@ -22,21 +23,26 @@ buildPythonPackage rec { setuptools-scm ]; - propagatedBuildInputs = [ - more-itertools - ]; - # Prevent infinite recursion with pytest doCheck = false; + checkInputs = [ + func-timeout + jaraco_itertools + ]; + pythonImportsCheck = [ "zipp" ]; + passthru.tests = { + check = zipp.overridePythonAttrs (_: { doCheck = true; }); + }; + meta = with lib; { description = "Pathlib-compatible object wrapper for zip files"; homepage = "https://github.com/jaraco/zipp"; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; -} +}; in zipp From 42091a7b8b21f591bf7af5760b55b108348d3712 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 6 May 2022 22:02:21 +0100 Subject: [PATCH 40/84] autoconf213: move 'm4' and 'perl' to nativeBuildInputs (strictDeps = true) Without the change `strictDeps = true` build fails as: $ nix build --impure --expr 'with import ./. {}; autoconf213.overrideAttrs (oa: { strictDeps = true;})' Error: Autoconf requires GNU m4 1.1 or later --- pkgs/development/tools/misc/autoconf/2.13.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix index 4ff990ca0ed2..8fba52aa1fd9 100644 --- a/pkgs/development/tools/misc/autoconf/2.13.nix +++ b/pkgs/development/tools/misc/autoconf/2.13.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh"; }; - buildInputs = [ m4 perl ]; + nativeBuildInputs = [ m4 perl ]; + strictDeps = true; doCheck = true; From e63edadf368acabccabb6377b4bc2b0eab0eda6c Mon Sep 17 00:00:00 2001 From: Phillip Cloud <417981+cpcloud@users.noreply.github.com> Date: Sat, 23 Apr 2022 05:41:09 -0400 Subject: [PATCH 41/84] python3Packages.platformdirs: 2.5.1 -> 2.5.2 --- .../python-modules/platformdirs/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix index 584d9361fb76..e04b40bc1e44 100644 --- a/pkgs/development/python-modules/platformdirs/default.nix +++ b/pkgs/development/python-modules/platformdirs/default.nix @@ -2,17 +2,17 @@ , appdirs , buildPythonPackage , fetchFromGitHub -, platformdirs , pytest-mock , pytestCheckHook , pythonOlder -, setuptools-scm +, hatchling +, hatch-vcs }: buildPythonPackage rec { pname = "platformdirs"; - version = "2.5.1"; - format = "setuptools"; + version = "2.5.2"; + format = "pyproject"; disabled = pythonOlder "3.7"; @@ -20,13 +20,14 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = version; - sha256 = "sha256-z6WIwTWLlc/chNRxt3dqqa/IxYj1BBTcQ6OcfliHrvA="; + sha256 = "sha256-c7gGgqOUVYA6wYU4+nQsYYw4Gn+DpMoIq2nP8nEdPcg="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ - setuptools-scm + hatchling + hatch-vcs ]; checkInputs = [ From 7d0399279a6949ad4bddd95a4023ab02dc2286be Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 7 May 2022 18:43:14 +0300 Subject: [PATCH 42/84] gettext: enable strictDeps --- pkgs/development/libraries/gettext/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 22acc73c49c6..a1270af259cd 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz }: +{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz, bash }: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -47,12 +47,14 @@ stdenv.mkDerivation rec { sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in ''; + strictDeps = true; nativeBuildInputs = [ xz xz.bin ]; + buildInputs = [ bash ] # HACK, see #10874 (and 14664) - buildInputs = lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv; + ++ lib.optionals (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) [ libiconv ]; setupHooks = [ ../../../build-support/setup-hooks/role.bash From 6fa9cc41ef209ac6aa3fe6b7e6b302bc2df33349 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 8 May 2022 13:20:35 +1000 Subject: [PATCH 43/84] python3Packages.rich: 12.3.0 -> 12.4.0 --- pkgs/development/python-modules/rich/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix index 4def2f46317f..55818e1773d3 100644 --- a/pkgs/development/python-modules/rich/default.nix +++ b/pkgs/development/python-modules/rich/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "rich"; - version = "12.3.0"; + version = "12.4.0"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Textualize"; repo = pname; rev = "v${version}"; - sha256 = "sha256-/BPJcFjUldbTa/M3i9jGGU7apbrTcWbF+yrrFuLXcHY="; + sha256 = "sha256-ryJTusUNpvNF2031ICJWK8ScxHIh+LrXYg7nd0ph4aQ="; }; nativeBuildInputs = [ poetry-core ]; From 194f81efa1aeac917ca27a1d09d9065d66ad8317 Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 8 May 2022 13:19:30 +1000 Subject: [PATCH 44/84] rich-cli: 1.7.0 -> 1.8.0 --- pkgs/misc/rich-cli/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/misc/rich-cli/default.nix b/pkgs/misc/rich-cli/default.nix index 17ea9ffee6e5..68996e4e457c 100644 --- a/pkgs/misc/rich-cli/default.nix +++ b/pkgs/misc/rich-cli/default.nix @@ -1,15 +1,18 @@ { lib +, fetchFromGitHub , python3 }: python3.pkgs.buildPythonApplication rec { pname = "rich-cli"; - version = "1.7.0"; + version = "1.8.0"; format = "pyproject"; - src = python3.pkgs.fetchPypi { - inherit pname version; - sha256 = "sha256-fporylec9H+9G2v8D0O32ek7OQs3YRSma1xOpakClqk="; + src = fetchFromGitHub { + owner = "Textualize"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-mV5b/J9wX9niiYtlmAUouaAm9mY2zTtDmex7FNWcezQ="; }; nativeBuildInputs = with python3.pkgs; [ @@ -26,7 +29,7 @@ python3.pkgs.buildPythonApplication rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace 'rich = "^12.3.0"' 'rich = "*"' + --replace 'rich = "^12.4.0"' 'rich = "*"' ''; pythonImportsCheck = [ From cb8f9183299e3c0a2aad2fa4260707dadb61a631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 8 May 2022 22:04:04 +0200 Subject: [PATCH 45/84] python310Packages.rich: 12.4.0 -> 12.4.1 --- pkgs/development/python-modules/rich/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix index 55818e1773d3..765ef5ba7d5a 100644 --- a/pkgs/development/python-modules/rich/default.nix +++ b/pkgs/development/python-modules/rich/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "rich"; - version = "12.4.0"; + version = "12.4.1"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Textualize"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ryJTusUNpvNF2031ICJWK8ScxHIh+LrXYg7nd0ph4aQ="; + sha256 = "sha256-6fr5mtZwXdZihoHEjF1jJxOLH3ajPX1tF2N/ZCV9g50="; }; nativeBuildInputs = [ poetry-core ]; From 7169abf52fedeefe18ff2517a5b6ef7bac93ad15 Mon Sep 17 00:00:00 2001 From: Sandro Date: Mon, 9 May 2022 01:53:28 +0200 Subject: [PATCH 46/84] python310Packages.babel: 2.9.1 -> 2.10.1 (#171867) --- pkgs/applications/finance/odoo/default.nix | 2 +- pkgs/applications/misc/plover/default.nix | 2 +- pkgs/applications/misc/safeeyes/default.nix | 2 +- .../networking/opsdroid/default.nix | 2 +- pkgs/applications/office/fava/default.nix | 2 +- pkgs/applications/video/screenkey/default.nix | 2 +- .../python-modules/Babel/default.nix | 24 ------------------ .../python-modules/Mako/default.nix | 4 +-- .../python-modules/Nikola/default.nix | 4 +-- .../python-modules/agate/default.nix | 4 +-- .../python-modules/apprise/default.nix | 4 +-- .../python-modules/babel/default.nix | 25 +++++++++++++++++++ .../babelgladeextractor/default.nix | 4 +-- .../python-modules/delorean/default.nix | 4 +-- .../python-modules/flask-babel/default.nix | 4 +-- .../python-modules/flask-babelex/default.nix | 4 +-- .../flask-security-too/default.nix | 4 +-- .../python-modules/flaskbabel/default.nix | 4 +-- .../python-modules/gruut/default.nix | 4 +-- .../python-modules/ihatemoney/default.nix | 4 +-- .../python-modules/jinja2/default.nix | 4 +-- .../jupyterlab_server/default.nix | 4 +-- .../python-modules/kajiki/default.nix | 4 +-- .../python-modules/lektor/default.nix | 4 +-- .../python-modules/mkdocs/default.nix | 4 +-- .../python-heatclient/default.nix | 4 +-- .../python-manilaclient/default.nix | 4 +-- .../python-modules/sphinx/default.nix | 4 +-- .../python-modules/weboob/default.nix | 4 +-- .../python-modules/woob/default.nix | 4 +-- .../python-modules/wtforms/default.nix | 4 +-- .../python2-modules/sphinx/default.nix | 4 +-- pkgs/development/tools/bashate/default.nix | 4 +-- .../tools/fdroidserver/default.nix | 2 +- .../poetry2nix/overrides/default.nix | 2 +- pkgs/servers/web-apps/searx/default.nix | 2 +- pkgs/tools/security/gnome-keysign/default.nix | 2 +- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 +- 39 files changed, 87 insertions(+), 85 deletions(-) delete mode 100644 pkgs/development/python-modules/Babel/default.nix create mode 100644 pkgs/development/python-modules/babel/default.nix diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix index 66b1bb0f97fe..7f3124791442 100644 --- a/pkgs/applications/finance/odoo/default.nix +++ b/pkgs/applications/finance/odoo/default.nix @@ -47,7 +47,7 @@ buildPythonApplication rec { makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ]; propagatedBuildInputs = [ - Babel + babel chardet decorator docutils diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix index 8f4bf10b1007..5a8055b08156 100644 --- a/pkgs/applications/misc/plover/default.nix +++ b/pkgs/applications/misc/plover/default.nix @@ -48,7 +48,7 @@ postPatch = "sed -i /PyQt5/d setup.cfg"; checkInputs = [ pytest mock ]; - propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth setuptools ]; + propagatedBuildInputs = [ babel pyqt5 xlib pyserial appdirs wcwidth setuptools ]; dontWrapQtApps = true; diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix index c188e5f78532..4a063eb8eddb 100644 --- a/pkgs/applications/misc/safeeyes/default.nix +++ b/pkgs/applications/misc/safeeyes/default.nix @@ -25,7 +25,7 @@ in buildPythonApplication rec { ]; propagatedBuildInputs = with python3Packages; [ - Babel + babel psutil xlib pygobject3 diff --git a/pkgs/applications/networking/opsdroid/default.nix b/pkgs/applications/networking/opsdroid/default.nix index ff6760d3daaf..9b5b27e7ca49 100644 --- a/pkgs/applications/networking/opsdroid/default.nix +++ b/pkgs/applications/networking/opsdroid/default.nix @@ -17,7 +17,7 @@ python3Packages.buildPythonPackage rec { doCheck = false; propagatedBuildInputs = with python3Packages; [ - click Babel opsdroid_get_image_size slackclient webexteamssdk bleach + click babel opsdroid_get_image_size slackclient webexteamssdk bleach parse emoji puremagic yamale nbformat websockets pycron nbconvert aiohttp matrix-api-async aioredis aiosqlite arrow pyyaml motor regex mattermostdriver setuptools voluptuous ibm-watson tailer multidict diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix index 5833e5e4adf3..c702c02c147a 100644 --- a/pkgs/applications/office/fava/default.nix +++ b/pkgs/applications/office/fava/default.nix @@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = with python3.pkgs; [ setuptools-scm ]; propagatedBuildInputs = with python3.pkgs; [ - Babel + babel beancount cheroot click diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix index 4377b255fd99..f854054b3b64 100644 --- a/pkgs/applications/video/screenkey/default.nix +++ b/pkgs/applications/video/screenkey/default.nix @@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec { ]; propagatedBuildInputs = with python3.pkgs; [ - Babel + babel pycairo pygobject3 ]; diff --git a/pkgs/development/python-modules/Babel/default.nix b/pkgs/development/python-modules/Babel/default.nix deleted file mode 100644 index 3143a8007683..000000000000 --- a/pkgs/development/python-modules/Babel/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytestCheckHook, freezegun }: - -buildPythonPackage rec { - pname = "Babel"; - version = "2.9.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"; - }; - - propagatedBuildInputs = [ pytz ]; - - checkInputs = [ pytestCheckHook freezegun ]; - - doCheck = !stdenv.isDarwin; - - meta = with lib; { - homepage = "http://babel.edgewall.org"; - description = "A collection of tools for internationalizing Python applications"; - license = licenses.bsd3; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix index d7b350b9f96b..5eca80d98a51 100644 --- a/pkgs/development/python-modules/Mako/default.nix +++ b/pkgs/development/python-modules/Mako/default.nix @@ -8,7 +8,7 @@ , markupsafe # extras: Babel -, Babel +, babel # tests , mock @@ -32,7 +32,7 @@ buildPythonPackage rec { passthru.extras-require = { babel = [ - Babel + babel ]; }; diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix index c95283acda51..b15f07bfcaeb 100644 --- a/pkgs/development/python-modules/Nikola/default.nix +++ b/pkgs/development/python-modules/Nikola/default.nix @@ -1,6 +1,6 @@ { lib , aiohttp -, Babel +, babel , blinker , buildPythonPackage , python-dateutil @@ -51,7 +51,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ aiohttp - Babel + babel blinker python-dateutil docutils diff --git a/pkgs/development/python-modules/agate/default.nix b/pkgs/development/python-modules/agate/default.nix index 04266bc3d883..29f580636480 100644 --- a/pkgs/development/python-modules/agate/default.nix +++ b/pkgs/development/python-modules/agate/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonPackage , cssselect , fetchFromGitHub @@ -32,7 +32,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - Babel + babel isodate leather parsedatetime diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index 5bccffea2921..cf532aedd242 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonPackage , click , cryptography @@ -31,7 +31,7 @@ buildPythonPackage rec { }; nativeBuildInputs = [ - Babel + babel installShellFiles ]; diff --git a/pkgs/development/python-modules/babel/default.nix b/pkgs/development/python-modules/babel/default.nix new file mode 100644 index 000000000000..14633062f36d --- /dev/null +++ b/pkgs/development/python-modules/babel/default.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytestCheckHook, freezegun }: + +buildPythonPackage rec { + pname = "babel"; + version = "2.10.1"; + + src = fetchPypi { + pname = "Babel"; + inherit version; + sha256 = "sha256-mK6soIYTPvs+HiqtA5aYdJDIQlkp3bz+BVAYT9xUzRM="; + }; + + propagatedBuildInputs = [ pytz ]; + + checkInputs = [ pytestCheckHook freezegun ]; + + doCheck = !stdenv.isDarwin; + + meta = with lib; { + homepage = "https://babel.pocoo.org/"; + description = "Collection of internationalizing tools"; + license = licenses.bsd3; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix index b1516d1abdb8..bd6baccbde43 100644 --- a/pkgs/development/python-modules/babelgladeextractor/default.nix +++ b/pkgs/development/python-modules/babelgladeextractor/default.nix @@ -2,7 +2,7 @@ , isPy3k , buildPythonPackage , fetchPypi -, Babel +, babel }: buildPythonPackage rec { @@ -18,7 +18,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - Babel + babel ]; # SyntaxError: Non-ASCII character '\xc3' in file /build/BabelGladeExtractor-0.6.3/babelglade/tests/test_translate.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details diff --git a/pkgs/development/python-modules/delorean/default.nix b/pkgs/development/python-modules/delorean/default.nix index 3435b461d09b..847a5c6e5ad7 100644 --- a/pkgs/development/python-modules/delorean/default.nix +++ b/pkgs/development/python-modules/delorean/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage , fetchPypi -, Babel +, babel , humanize , python-dateutil , tzlocal @@ -16,7 +16,7 @@ buildPythonPackage rec { sha256 = "0d31ay7yq2w7xz7m3ssk5phjbm64b2k8hmgcif22719k29p7hrzy"; }; - propagatedBuildInputs = [ Babel humanize python-dateutil tzlocal ]; + propagatedBuildInputs = [ babel humanize python-dateutil tzlocal ]; pythonImportsCheck = [ "delorean" ]; diff --git a/pkgs/development/python-modules/flask-babel/default.nix b/pkgs/development/python-modules/flask-babel/default.nix index 602564d16268..a538327650b2 100644 --- a/pkgs/development/python-modules/flask-babel/default.nix +++ b/pkgs/development/python-modules/flask-babel/default.nix @@ -3,7 +3,7 @@ , python , fetchPypi , flask -, Babel +, babel , jinja2 , pytz , speaklater @@ -20,7 +20,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ flask - Babel + babel jinja2 pytz speaklater diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix index cdcb400983b1..4a7294540e12 100644 --- a/pkgs/development/python-modules/flask-babelex/default.nix +++ b/pkgs/development/python-modules/flask-babelex/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchPypi , flask -, Babel +, babel , speaklater , jinja2 , pytest @@ -20,7 +20,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ flask - Babel + babel speaklater jinja2 ]; diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix index 8379ec7bcfe4..f3f15c42bc3f 100644 --- a/pkgs/development/python-modules/flask-security-too/default.nix +++ b/pkgs/development/python-modules/flask-security-too/default.nix @@ -3,7 +3,7 @@ , fetchPypi # extras: babel -, Babel +, babel , flask-babel # extras: common @@ -64,7 +64,7 @@ buildPythonPackage rec { passthru.extras-require = { babel = [ - Babel + babel flask-babel ]; common = [ diff --git a/pkgs/development/python-modules/flaskbabel/default.nix b/pkgs/development/python-modules/flaskbabel/default.nix index d15950bba9a4..a0e42e60c2e0 100644 --- a/pkgs/development/python-modules/flaskbabel/default.nix +++ b/pkgs/development/python-modules/flaskbabel/default.nix @@ -4,7 +4,7 @@ , flask , jinja2 , speaklater -, Babel +, babel , pytz }: @@ -17,7 +17,7 @@ buildPythonPackage rec { sha256 = "f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d"; }; - propagatedBuildInputs = [ flask jinja2 speaklater Babel pytz ]; + propagatedBuildInputs = [ flask jinja2 speaklater babel pytz ]; meta = with lib; { description = "Adds i18n/l10n support to Flask applications"; diff --git a/pkgs/development/python-modules/gruut/default.nix b/pkgs/development/python-modules/gruut/default.nix index 5078c6fdb390..ccaf7b6f0389 100644 --- a/pkgs/development/python-modules/gruut/default.nix +++ b/pkgs/development/python-modules/gruut/default.nix @@ -3,7 +3,7 @@ , callPackage , pythonOlder , fetchFromGitHub -, Babel +, babel , gruut-ipa , dateparser , jsonlines @@ -54,7 +54,7 @@ buildPythonPackage rec { ''; propagatedBuildInputs = [ - Babel + babel gruut-ipa jsonlines num2words diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix index 5092175b50cf..459ebe5ad51f 100644 --- a/pkgs/development/python-modules/ihatemoney/default.nix +++ b/pkgs/development/python-modules/ihatemoney/default.nix @@ -5,7 +5,7 @@ , fetchPypi , alembic , aniso8601 -, Babel +, babel , blinker , cachetools , click @@ -54,7 +54,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ aniso8601 - Babel + babel blinker cachetools click diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix index 29b08df8e0fe..bebaa3c82d4d 100644 --- a/pkgs/development/python-modules/jinja2/default.nix +++ b/pkgs/development/python-modules/jinja2/default.nix @@ -3,7 +3,7 @@ , buildPythonPackage , pythonOlder , fetchPypi -, Babel +, babel , markupsafe , pytestCheckHook }: @@ -20,7 +20,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - Babel + babel markupsafe ]; diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix index e612cfaeab04..3fde727d148c 100644 --- a/pkgs/development/python-modules/jupyterlab_server/default.nix +++ b/pkgs/development/python-modules/jupyterlab_server/default.nix @@ -6,7 +6,7 @@ , requests , pytestCheckHook , pyjson5 -, Babel +, babel , jupyter_server , openapi-core , pytest-tornasync @@ -32,7 +32,7 @@ buildPythonPackage rec { rm -r tests/translations/ ''; - propagatedBuildInputs = [ requests jsonschema pyjson5 Babel jupyter_server ]; + propagatedBuildInputs = [ requests jsonschema pyjson5 babel jupyter_server ]; checkInputs = [ openapi-core diff --git a/pkgs/development/python-modules/kajiki/default.nix b/pkgs/development/python-modules/kajiki/default.nix index 6dd55a4876f1..76289816a2a8 100644 --- a/pkgs/development/python-modules/kajiki/default.nix +++ b/pkgs/development/python-modules/kajiki/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage , fetchPypi -, Babel +, babel , pytz , nine , pytestCheckHook @@ -16,7 +16,7 @@ buildPythonPackage rec { sha256 = "f0d6dfa27eb2b6c0d2a28ae21d69dceb5363cc0432f4045bcc98aac42a662ccb"; }; - propagatedBuildInputs = [ Babel pytz nine ]; + propagatedBuildInputs = [ babel pytz nine ]; checkInputs = [ pytestCheckHook ]; meta = with lib; { diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix index 600304f48a12..4688b7394cc3 100644 --- a/pkgs/development/python-modules/lektor/default.nix +++ b/pkgs/development/python-modules/lektor/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonPackage , click , exifread @@ -40,7 +40,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - Babel + babel click exifread filetype diff --git a/pkgs/development/python-modules/mkdocs/default.nix b/pkgs/development/python-modules/mkdocs/default.nix index 13604bc975a3..2345ca93f94f 100644 --- a/pkgs/development/python-modules/mkdocs/default.nix +++ b/pkgs/development/python-modules/mkdocs/default.nix @@ -16,7 +16,7 @@ , pyyaml-env-tag , watchdog # testing deps -, Babel +, babel , mock , pytestCheckHook }: @@ -47,7 +47,7 @@ buildPythonPackage rec { ]; checkInputs = [ - Babel + babel mock ]; diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix index d78682a8c66c..dc1694b83e8e 100644 --- a/pkgs/development/python-modules/python-heatclient/default.nix +++ b/pkgs/development/python-modules/python-heatclient/default.nix @@ -2,7 +2,7 @@ , buildPythonApplication , fetchPypi , pbr -, Babel +, babel , cliff , iso8601 , osc-lib @@ -31,7 +31,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ pbr - Babel + babel cliff iso8601 osc-lib diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix index 09dc46ba9552..765279718348 100644 --- a/pkgs/development/python-modules/python-manilaclient/default.nix +++ b/pkgs/development/python-modules/python-manilaclient/default.nix @@ -13,7 +13,7 @@ , simplejson , sphinx , sphinxcontrib-programoutput -, Babel +, babel , osc-lib , python-keystoneclient , debtcollector @@ -45,7 +45,7 @@ buildPythonApplication rec { prettytable requests simplejson - Babel + babel osc-lib python-keystoneclient debtcollector diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index 020cf5c143a2..bae27c6133e2 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -4,7 +4,7 @@ , pythonOlder , fetchFromGitHub # propagatedBuildInputs -, Babel +, babel , alabaster , docutils , imagesize @@ -54,7 +54,7 @@ buildPythonPackage rec { ''; propagatedBuildInputs = [ - Babel + babel alabaster docutils imagesize diff --git a/pkgs/development/python-modules/weboob/default.nix b/pkgs/development/python-modules/weboob/default.nix index 4d0373105ccf..094dcb3bfbdf 100644 --- a/pkgs/development/python-modules/weboob/default.nix +++ b/pkgs/development/python-modules/weboob/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonPackage , cssselect , feedparser @@ -43,7 +43,7 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ - Babel + babel cssselect python-dateutil feedparser diff --git a/pkgs/development/python-modules/woob/default.nix b/pkgs/development/python-modules/woob/default.nix index 3c9529c2644b..a681b523a32e 100644 --- a/pkgs/development/python-modules/woob/default.nix +++ b/pkgs/development/python-modules/woob/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonPackage , colorama , cssselect @@ -45,7 +45,7 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ - Babel + babel colorama cssselect python-dateutil diff --git a/pkgs/development/python-modules/wtforms/default.nix b/pkgs/development/python-modules/wtforms/default.nix index 48764d509fe8..95f9d2df65cc 100644 --- a/pkgs/development/python-modules/wtforms/default.nix +++ b/pkgs/development/python-modules/wtforms/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchPypi , markupsafe -, Babel +, babel , pytestCheckHook , email_validator }: @@ -16,7 +16,7 @@ buildPythonPackage rec { sha256 = "1g654ghavds387hqxmhg9s8x222x89wbq1ggzxbsyn6x2axindbb"; }; - propagatedBuildInputs = [ markupsafe Babel ]; + propagatedBuildInputs = [ markupsafe babel ]; checkInputs = [ diff --git a/pkgs/development/python2-modules/sphinx/default.nix b/pkgs/development/python2-modules/sphinx/default.nix index 0424b9b4c39b..80dec0531085 100644 --- a/pkgs/development/python2-modules/sphinx/default.nix +++ b/pkgs/development/python2-modules/sphinx/default.nix @@ -13,7 +13,7 @@ , jinja2 , pygments , alabaster -, Babel +, babel , snowballstemmer , six , sqlalchemy @@ -46,7 +46,7 @@ buildPythonPackage rec { jinja2 pygments alabaster - Babel + babel setuptools snowballstemmer six diff --git a/pkgs/development/tools/bashate/default.nix b/pkgs/development/tools/bashate/default.nix index 76e523170ca7..9b6d93617266 100644 --- a/pkgs/development/tools/bashate/default.nix +++ b/pkgs/development/tools/bashate/default.nix @@ -1,5 +1,5 @@ { lib -, Babel +, babel , buildPythonApplication , fetchPypi , fixtures @@ -21,7 +21,7 @@ buildPythonApplication rec { }; propagatedBuildInputs = [ - Babel + babel pbr setuptools ]; diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix index 9bbe61648526..e0f9a7269450 100644 --- a/pkgs/development/tools/fdroidserver/default.nix +++ b/pkgs/development/tools/fdroidserver/default.nix @@ -27,7 +27,7 @@ python.pkgs.buildPythonApplication rec { install -m 0755 gradlew-fdroid $out/bin ''; - buildInputs = [ python.pkgs.Babel ]; + buildInputs = [ python.pkgs.babel ]; propagatedBuildInputs = with python.pkgs; [ androguard diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix index a04e2d65385c..cf23225baa51 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix @@ -2379,7 +2379,7 @@ lib.composeManyExtensions [ }); wtforms = super.wtforms.overridePythonAttrs (old: { - buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ]; + buildInputs = (old.buildInputs or [ ]) ++ [ self.babel ]; }); } diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix index afcded311160..5327b48d51e7 100644 --- a/pkgs/servers/web-apps/searx/default.nix +++ b/pkgs/servers/web-apps/searx/default.nix @@ -31,7 +31,7 @@ toPythonModule (buildPythonApplication rec { ''; propagatedBuildInputs = [ - Babel + babel certifi python-dateutil flask diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix index a94be8295ea0..50a1ff98d14f 100644 --- a/pkgs/tools/security/gnome-keysign/default.nix +++ b/pkgs/tools/security/gnome-keysign/default.nix @@ -41,7 +41,7 @@ python3.pkgs.buildPythonApplication rec { wrapGAppsHook gobject-introspection ] ++ (with python3.pkgs; [ - Babel + babel babelgladeextractor ]); diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 385bf1142b39..5f9e961ae6c7 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -37,6 +37,7 @@ mapAliases ({ ansible-base = throw "ansible-base has been removed, because it is end of life"; # added 2022-03-30 anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18 asyncio-nats-client = nats-py; # added 2022-02-08 + Babel = babel; # added 2022-05-06 bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15 blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29 bt_proximity = bt-proximity; # added 2021-07-02 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 172e7e8a62be..a51fc9601106 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1099,7 +1099,7 @@ in { b2sdk = callPackage ../development/python-modules/b2sdk { }; - Babel = callPackage ../development/python-modules/Babel { }; + babel = callPackage ../development/python-modules/babel { }; babelfish = callPackage ../development/python-modules/babelfish { }; From 4317c93104b4473d2482766fe867f646752dd499 Mon Sep 17 00:00:00 2001 From: Rasmus Rendal Date: Mon, 9 May 2022 09:09:13 +0200 Subject: [PATCH 47/84] rhash: Correctly set target platform when configuring The non-standard configure script did not detect it, and we have to supply this argument. This closes #113742 --- pkgs/tools/security/rhash/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index e82052d961b8..e071f460b1aa 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--ar=${stdenv.cc.targetPrefix}ar" + "--target=${stdenv.hostPlatform.config}" (lib.enableFeature enableStatic "static") (lib.enableFeature enableStatic "lib-static") ]; From d954878d809103dce1deef350ea476c5175af16d Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Mon, 9 May 2022 09:13:21 -0400 Subject: [PATCH 48/84] autoconf: build offline html documentation (#172103) * autoconf: build offline html documentation * Update pkgs/development/tools/misc/autoconf/default.nix Co-authored-by: Sandro * Update pkgs/development/tools/misc/autoconf/default.nix Co-authored-by: Sandro Co-authored-by: Dmitry Bogatov Co-authored-by: Sandro --- pkgs/development/tools/misc/autoconf/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index ac342086f6c5..63302c8ed94b 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, m4, perl }: +{ lib, stdenv, fetchurl, m4, perl, texinfo }: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -8,6 +8,7 @@ stdenv.mkDerivation rec { pname = "autoconf"; version = "2.71"; + outputs = [ "out" "doc" ]; src = fetchurl { url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz"; @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { ./2.71-fix-race.patch ]; - nativeBuildInputs = [ m4 perl ]; + nativeBuildInputs = [ m4 perl texinfo ]; buildInputs = [ m4 ]; + postBuild = " + make html + "; + + postInstall = " + make install-html + "; # Work around a known issue in Cygwin. See # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for From 4729cb69e35e67bcc0221da00953524d62402a89 Mon Sep 17 00:00:00 2001 From: Rick van Schijndel Date: Thu, 5 May 2022 22:16:44 +0200 Subject: [PATCH 49/84] SDL2: fix cross-compilation --- pkgs/development/libraries/SDL2/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 1ce2b1525f07..75e0cd1c02af 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -49,6 +49,7 @@ , audiofile , libiconv , withStatic ? false +, buildPackages }: # NOTE: When editing this expression see if the same change applies to @@ -76,6 +77,15 @@ stdenv.mkDerivation rec { ./find-headers.patch ]; + postPatch = '' + # Fix running wayland-scanner for the build platform when cross-compiling. + # See comment here: https://github.com/libsdl-org/SDL/issues/4860#issuecomment-1119003545 + substituteInPlace configure \ + --replace '$(WAYLAND_SCANNER)' "${buildPackages.wayland-scanner}/bin/wayland-scanner" + ''; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ]; From 7d5b75b12ab622480ce32ae2e0801edcf23a66d3 Mon Sep 17 00:00:00 2001 From: Rick van Schijndel Date: Mon, 9 May 2022 20:13:14 +0200 Subject: [PATCH 50/84] SDL2: use wayland-scanner from PATH Prevents having to use buildPackages, helps overriding wayland-scanner for whoever needs it. --- pkgs/development/libraries/SDL2/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 75e0cd1c02af..0112748695ee 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -22,6 +22,7 @@ , waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , wayland , wayland-protocols +, wayland-scanner , drmSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , libdrm , mesa @@ -49,7 +50,6 @@ , audiofile , libiconv , withStatic ? false -, buildPackages }: # NOTE: When editing this expression see if the same change applies to @@ -81,14 +81,14 @@ stdenv.mkDerivation rec { # Fix running wayland-scanner for the build platform when cross-compiling. # See comment here: https://github.com/libsdl-org/SDL/issues/4860#issuecomment-1119003545 substituteInPlace configure \ - --replace '$(WAYLAND_SCANNER)' "${buildPackages.wayland-scanner}/bin/wayland-scanner" + --replace '$(WAYLAND_SCANNER)' 'wayland-scanner' ''; strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ]; + nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland wayland-scanner ]; propagatedBuildInputs = dlopenPropagatedBuildInputs; From bb438b6f2ca4f1c5d62f4de1bf7e41c87f77dde8 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Sun, 17 Apr 2022 23:05:19 +0100 Subject: [PATCH 51/84] krb5: 1.19.2 -> 1.19.3 --- pkgs/development/libraries/kerberos/krb5.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index e1251b0e942c..bbb11522dee5 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -19,11 +19,11 @@ in with lib; stdenv.mkDerivation rec { pname = "${type}krb5"; - version = "1.19.2"; + version = "1.19.3"; src = fetchurl { url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz"; - sha256 = "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h"; + sha256 = "1l6wp58zav37g03n2ig5qr0pslz38gh5cxgigbmxkjfxrxilil2n"; }; outputs = [ "out" "dev" ]; From 4fae05e8d646e8b21c02c9642dce7a028c3b1279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 5 May 2022 16:31:21 +0200 Subject: [PATCH 52/84] sqlite: 3.38.3 -> 3.38.4 --- pkgs/development/libraries/sqlite/default.nix | 4 ++-- pkgs/development/libraries/sqlite/tools.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 726ccff02bb9..d786711b8ef9 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -12,13 +12,13 @@ in stdenv.mkDerivation rec { pname = "sqlite${optionalString interactive "-interactive"}"; - version = "3.38.3"; + version = "3.38.4"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz"; - sha256 = "sha256-YfLdk6LjjDNGi3EllnwyGL+fTdg2Xe9gJeMU+QXclC4="; + sha256 = "sha256-GTV1EGbC/UR0BMqnjPuLK3AfrT9rHPQLPWWEQPbMdWM="; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index d112515c8e9e..800f8946c52e 100644 --- a/pkgs/development/libraries/sqlite/tools.nix +++ b/pkgs/development/libraries/sqlite/tools.nix @@ -4,12 +4,12 @@ let archiveVersion = import ./archive-version.nix lib; mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { inherit pname; - version = "3.38.3"; + version = "3.38.4"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip"; - sha256 = "sha256-oQTUk+CEAGvXT/H/esLrKzh8fAo7Y7pv6i+vtBGDE68="; + sha256 = "sha256-yoXs0Qo5cKX5HAMggiQwgaCq3cUuan8yFPSBxp4wOdA="; }; nativeBuildInputs = [ unzip ]; From ca55f66c6d06e3d6d091b60a8e1fad828e710a4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 9 May 2022 16:25:49 +0200 Subject: [PATCH 53/84] sqlite: 3.38.4 -> 3.38.5 --- pkgs/development/libraries/sqlite/default.nix | 4 ++-- pkgs/development/libraries/sqlite/tools.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index d786711b8ef9..7677406874a5 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -12,13 +12,13 @@ in stdenv.mkDerivation rec { pname = "sqlite${optionalString interactive "-interactive"}"; - version = "3.38.4"; + version = "3.38.5"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz"; - sha256 = "sha256-GTV1EGbC/UR0BMqnjPuLK3AfrT9rHPQLPWWEQPbMdWM="; + sha256 = "sha256-WvB96YK6ZY/ZGgMXDJRfmclx9pVbx53zJmVENz45hpw="; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index 800f8946c52e..b804fcbfd658 100644 --- a/pkgs/development/libraries/sqlite/tools.nix +++ b/pkgs/development/libraries/sqlite/tools.nix @@ -4,12 +4,12 @@ let archiveVersion = import ./archive-version.nix lib; mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { inherit pname; - version = "3.38.4"; + version = "3.38.5"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip"; - sha256 = "sha256-yoXs0Qo5cKX5HAMggiQwgaCq3cUuan8yFPSBxp4wOdA="; + sha256 = "sha256-ZQO7WeOeyGYwg2lpQOyBjNVVUZbmylQ9QClEDMp7ANk="; }; nativeBuildInputs = [ unzip ]; From 87ac2775d8723cdd636d5637502730873da1a7fc Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Thu, 28 Apr 2022 19:31:28 +0100 Subject: [PATCH 54/84] curl: enable tests some tests still skipped due to missing dependencies, but it's unlikely we want to add these build-time dependencies to such an early-stage package --- pkgs/tools/networking/curl/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index bd37b4954c4e..d2ac5c80256a 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -150,7 +150,16 @@ stdenv.mkDerivation rec { CXX = "${stdenv.cc.targetPrefix}c++"; CXXCPP = "${stdenv.cc.targetPrefix}c++ -E"; - doCheck = false; # expensive, fails + doCheck = true; + preCheck = '' + patchShebangs tests/ + '' + lib.optionalString stdenv.isDarwin '' + # bad interaction with sandbox if enabled? + rm tests/data/test1453 + '' + lib.optionalString stdenv.hostPlatform.isMusl '' + # different resolving behaviour? + rm tests/data/test1592 + ''; postInstall = '' moveToOutput bin/curl-config "$dev" From f779fff0bb634fc3893712bf11380444bbf0e7e7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 10 May 2022 06:04:17 +0000 Subject: [PATCH 55/84] libnotify: 0.7.11 -> 0.7.12 --- pkgs/development/libraries/libnotify/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index de3f2141c2e4..5cf79781a7d0 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "libnotify"; - version = "0.7.11"; + version = "0.7.12"; outputs = [ "out" "man" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "3VaC7GgiAznhHFFZt+ASIEoxjdGzaDoJxILKQhqwc3U="; + sha256 = "dEsrN1CBNfgmG3Vanevm4JrdQhrcdb3pMPbhmLcKtG4="; }; mesonFlags = [ From 757ee2ed93ad2aea8af83240af184c1a28ad0443 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 20:42:31 +0300 Subject: [PATCH 56/84] dbus: remove useless nulls --- pkgs/development/libraries/dbus/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 6e3a6ed5b305..025a107191cd 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -8,16 +8,14 @@ , systemd , audit , libapparmor -, libX11 ? null -, libICE ? null -, libSM ? null -, x11Support ? (stdenv.isLinux || stdenv.isDarwin) , dbus , docbook_xml_dtd_44 , docbook-xsl-nons , xmlto , autoreconfHook , autoconf-archive +, x11Support ? (stdenv.isLinux || stdenv.isDarwin) +, xorg }: stdenv.mkDerivation rec { @@ -82,11 +80,11 @@ stdenv.mkDerivation rec { ]; buildInputs = - lib.optionals x11Support [ + lib.optionals x11Support (with xorg; [ libX11 libICE libSM - ] ++ lib.optional enableSystemd systemd + ]) ++ lib.optional enableSystemd systemd ++ lib.optionals stdenv.isLinux [ audit libapparmor ]; # ToDo: optional selinux? From be4c9c60c2e9cd447805b1cd8d0f2493d2e6f323 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 20:58:19 +0300 Subject: [PATCH 57/84] dbus: 1.12.20 -> 1.14.0 fprintd: remove dbus patch --- pkgs/development/libraries/dbus/default.nix | 20 +++---------------- .../dbus/docs-reproducible-ids.patch | 15 -------------- pkgs/tools/security/fprintd/default.nix | 11 +--------- 3 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 pkgs/development/libraries/dbus/docs-reproducible-ids.patch diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 025a107191cd..29b76e59243d 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -20,28 +20,14 @@ stdenv.mkDerivation rec { pname = "dbus"; - version = "1.12.20"; + version = "1.14.0"; src = fetchurl { - url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; - sha256 = "1zp5gpx61v1cpqf2zwb1cidhp9xylvw49d3zydkxqk6b1qa20xpp"; + url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.xz"; + sha256 = "sha256-zNfM43WW4KGVWP1mSNEnKrQ/AR2AyGNa6o/QutWK69Q="; }; patches = [ - # 'generate.consistent.ids=1' ensures reproducible docs, for further details see - # http://docbook.sourceforge.net/release/xsl/current/doc/html/generate.consistent.ids.html - # Also applied upstream in https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/189, - # expected in version 1.14 - ./docs-reproducible-ids.patch - # AC_PATH_XTRA doesn't seem to find X11 libs even though libX11 seems - # to provide valid pkg-config files. This replace AC_PATH_XTRA with - # PKG_CHECK_MODULES. - # MR merged cf https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/212/diffs?commit_id=23880a181e82ee7f - (fetchpatch { - url = "https://gitlab.freedesktop.org/dbus/dbus/-/commit/6bfaea0707ba1a7788c4b6d30c18fb094f3a1dd4.patch"; - sha256 = "1d8ay55n2ksw5faqx3hsdpfni3xl3gq9hnjl65073xcfnx67x8d2"; - }) - # Fix dbus-daemon crashing when running tests due to long XDG_DATA_DIRS. # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/302 (fetchpatch { diff --git a/pkgs/development/libraries/dbus/docs-reproducible-ids.patch b/pkgs/development/libraries/dbus/docs-reproducible-ids.patch deleted file mode 100644 index 2356b64d95cf..000000000000 --- a/pkgs/development/libraries/dbus/docs-reproducible-ids.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --color -Naur dbus-1.12.20-original/doc/Makefile.in dbus-1.12.20-hacked2/doc/Makefile.in ---- dbus-1.12.20-original/doc/Makefile.in 2020-07-02 12:10:41.000000000 +0200 -+++ dbus-1.12.20-hacked2/doc/Makefile.in 2020-11-07 09:57:15.297694773 +0100 -@@ -870,8 +870,10 @@ - .PRECIOUS: Makefile - - -+# 'generate.consistent.ids=1' ensures reproducible docs, for further details see -+# http://docbook.sourceforge.net/release/xsl/current/doc/html/generate.consistent.ids.html - @DBUS_XML_DOCS_ENABLED_TRUE@%.html: %.xml --@DBUS_XML_DOCS_ENABLED_TRUE@ $(XMLTO) html-nochunks $< -+@DBUS_XML_DOCS_ENABLED_TRUE@ $(XMLTO) --stringparam generate.consistent.ids=1 html-nochunks $< - - @DBUS_XML_DOCS_ENABLED_TRUE@%.1: %.1.xml - @DBUS_XML_DOCS_ENABLED_TRUE@ $(XMLTO) man $< diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix index d9c17f935eda..501481957543 100644 --- a/pkgs/tools/security/fprintd/default.nix +++ b/pkgs/tools/security/fprintd/default.nix @@ -44,16 +44,7 @@ stdenv.mkDerivation rec { gettext gtk-doc libxslt - # TODO: apply this to D-Bus so that other packages can benefit. - # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/202 - (dbus.overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' - ln -s ${fetchurl { - url = "https://gitlab.freedesktop.org/dbus/dbus/-/raw/b207135dbd8c09cf8da28f7e3b0a18bb11483663/doc/catalog.xml"; - sha256 = "1/43XwAIcmRXfM4OXOPephyQyUnW8DSveiZbiPvW72I="; - }} $out/share/xml/dbus-1/catalog.xml - ''; - })) + dbus docbook-xsl-nons docbook_xml_dtd_412 ]; From c2b2a9ce788f7760bd3148ba9b5c14267f9916e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:16:10 +0200 Subject: [PATCH 58/84] python310Packages.werkzeug: 2.1.0 -> 2.1.2 --- pkgs/development/python-modules/werkzeug/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index f961d0359db4..f7e9b4958c30 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "werkzeug"; - version = "2.1.0"; + version = "2.1.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "Werkzeug"; inherit version; - sha256 = "sha256-m1VGaj6Z4TsfBoamYRfTm9qFqZIWbgp5rt/PNYYyj3o="; + sha256 = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY="; }; propagatedBuildInputs = lib.optionals (!stdenv.isDarwin) [ From f0e058f1e3b74827cb3727f3d44a05709a3d593e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:37:30 +0200 Subject: [PATCH 59/84] python310Packages.stack-data: disable failing tests --- pkgs/development/python-modules/stack-data/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/stack-data/default.nix b/pkgs/development/python-modules/stack-data/default.nix index eb9879a4bf02..7f319333cac8 100644 --- a/pkgs/development/python-modules/stack-data/default.nix +++ b/pkgs/development/python-modules/stack-data/default.nix @@ -49,8 +49,10 @@ buildPythonPackage rec { disabledTests = [ # AssertionError - "test_variables" "test_example" + "test_executing_style_defs" + "test_pygments_example" + "test_variables" ]; pythonImportsCheck = [ "stack_data" ]; From 45f50eb9ac5cd038c9fc13a4519bd55f20bac2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:39:04 +0200 Subject: [PATCH 60/84] python310Packages.flask: 2.1.1 -> 2.1.2 --- pkgs/development/python-modules/flask/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix index 997a28de1e9c..e4ded57576e5 100644 --- a/pkgs/development/python-modules/flask/default.nix +++ b/pkgs/development/python-modules/flask/default.nix @@ -13,12 +13,12 @@ }: buildPythonPackage rec { - version = "2.1.1"; + version = "2.1.2"; pname = "Flask"; src = fetchPypi { inherit pname version; - sha256 = "sha256-qMm9PlWOyZZG0Xepc5xB3x3tBilIC0yNKXVBLzyVGcg="; + sha256 = "sha256-MV3tLd+KYoFWftsnOTAQ/jQGGIuvv+ZaMznVeH2J5Hc="; }; propagatedBuildInputs = [ From e960e5c643aad0aa94c107ac682733e16d466af1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:43:38 +0200 Subject: [PATCH 61/84] python310Packages.click: 8.1.2 -> 8.1.3 --- pkgs/development/python-modules/click/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/click/default.nix b/pkgs/development/python-modules/click/default.nix index a75f563862a3..81bcf03130e1 100644 --- a/pkgs/development/python-modules/click/default.nix +++ b/pkgs/development/python-modules/click/default.nix @@ -5,23 +5,21 @@ , importlib-metadata , pytestCheckHook -# large-rebuild downstream dependencies +# large-rebuild downstream dependencies and applications , flask , black - -# applications , magic-wormhole , mitmproxy }: buildPythonPackage rec { pname = "click"; - version = "8.1.2"; + version = "8.1.3"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-R5cH/hTZ7JoHV2GLehAKCuTE4jb6xbf4DKaAKBQaGnI="; + sha256 = "sha256-doLcivswKXABZ0V16gDRgU2AjWo2r0Fagr1IHTe6e44="; }; propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ From 161b08390f29100f7b5b29e451ce0c195e92a242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:44:53 +0200 Subject: [PATCH 62/84] python310Packages.werkzeug: add SuperSandro2000 as maintainer --- pkgs/development/python-modules/werkzeug/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index f7e9b4958c30..aaaecc6098fa 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -63,6 +63,6 @@ buildPythonPackage rec { utility libraries. ''; license = licenses.bsd3; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; } From d71354cca676158526ca07189e7eb98f164cdbff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 6 May 2022 19:46:37 +0200 Subject: [PATCH 63/84] python310Packages.jinja2: 3.1.1 -> 3.1.2 --- pkgs/development/python-modules/jinja2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix index 29b08df8e0fe..e013d53937c8 100644 --- a/pkgs/development/python-modules/jinja2/default.nix +++ b/pkgs/development/python-modules/jinja2/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "Jinja2"; - version = "3.1.1"; + version = "3.1.2"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-ZAvtS7UBy9FxlLPKzh3CEm9bYZzwaKcmuYGSoP3nSuk="; + sha256 = "sha256-MTUacCpAip51laj8YVD8P0O7a/fjGXcMvA2535Q36FI="; }; propagatedBuildInputs = [ From fa93551f03f731e7fbad90edd1f22ce6c0935a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 11 May 2022 13:39:27 +0200 Subject: [PATCH 64/84] python310Packages.pyparsing: 3.0.7 -> 3.0.9 --- .../python-modules/pyparsing/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix index fb5abc5c3522..3d10fca06c05 100644 --- a/pkgs/development/python-modules/pyparsing/default.nix +++ b/pkgs/development/python-modules/pyparsing/default.nix @@ -1,9 +1,7 @@ { buildPythonPackage , fetchFromGitHub , lib - -# since this is a dependency of pytest, we need to avoid -# circular dependencies +, flit-core , jinja2 , pytestCheckHook , railroad-diagrams @@ -12,16 +10,21 @@ let pyparsing = buildPythonPackage rec { pname = "pyparsing"; - version = "3.0.7"; + version = "3.0.9"; + format = "pyproject"; src = fetchFromGitHub { owner = "pyparsing"; repo = pname; rev = "pyparsing_${version}"; - sha256 = "sha256-RyvTTbFshAZgyZPgzqcq31E504RlnMZuf16jJYGqDDI="; + sha256 = "sha256-aCRyJQyLf8qQ6NO41q+HC856TjIHzIt0vyVBLV+3teE="; }; - # circular dependencies if enabled by default + nativeBuildInputs = [ + flit-core + ]; + + # circular dependencies with pytest if enabled by default doCheck = false; checkInputs = [ jinja2 @@ -43,4 +46,4 @@ let }; }; in - pyparsing +pyparsing From d538cef5a8d306384af7ed12ad6f55f054a31f50 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 21:44:08 +0300 Subject: [PATCH 65/84] dbus: enable strictDeps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit output verified with https://github.com/Artturin/diffing justhad to add system to nativeBuildInputs for │ │ │ │ +ExecStartPost=-/usr/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus │ │ │ │ -ExecStartPost=-/nix/store/xwd2br5nzzd5rdil4yb250zfgdng7l8v-systemd-250.4/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDR> --- pkgs/development/libraries/dbus/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 29b76e59243d..e78529492497 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -52,6 +52,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "lib" "doc" "man" ]; + strictDeps = true; nativeBuildInputs = [ autoreconfHook autoconf-archive @@ -88,7 +89,8 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" ] ++ lib.optional (!x11Support) "--without-x" - ++ lib.optionals stdenv.isLinux [ "--enable-apparmor" "--enable-libaudit" ]; + ++ lib.optionals stdenv.isLinux [ "--enable-apparmor" "--enable-libaudit" ] + ++ lib.optionals enableSystemd [ "SYSTEMCTL=${systemd}/bin/systemctl" ]; NIX_CFLAGS_LINK = lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed"; From c5edd9926d07a1de54d743dbce645778dead7b13 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Wed, 11 May 2022 17:49:38 +0300 Subject: [PATCH 66/84] curl: 7.83.0 -> 7.83.1 --- .../7.83.1-quiche-support-ca-fallback.patch | 51 +++++++++++++++++++ pkgs/tools/networking/curl/default.nix | 10 ++-- 2 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch diff --git a/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch b/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch new file mode 100644 index 000000000000..c68f9f1d84df --- /dev/null +++ b/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch @@ -0,0 +1,51 @@ +diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c +index bfdc966a85ea..e4bea4d677be 100644 +--- a/lib/vquic/quiche.c ++++ b/lib/vquic/quiche.c +@@ -201,23 +201,31 @@ static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data) + + { + struct connectdata *conn = data->conn; +- const char * const ssl_cafile = conn->ssl_config.CAfile; +- const char * const ssl_capath = conn->ssl_config.CApath; +- + if(conn->ssl_config.verifypeer) { +- SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL); +- /* tell OpenSSL where to find CA certificates that are used to verify +- the server's certificate. */ +- if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) { +- /* Fail if we insist on successfully verifying the server. */ +- failf(data, "error setting certificate verify locations:" +- " CAfile: %s CApath: %s", +- ssl_cafile ? ssl_cafile : "none", +- ssl_capath ? ssl_capath : "none"); +- return NULL; ++ const char * const ssl_cafile = conn->ssl_config.CAfile; ++ const char * const ssl_capath = conn->ssl_config.CApath; ++ if(ssl_cafile || ssl_capath) { ++ SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL); ++ /* tell OpenSSL where to find CA certificates that are used to verify ++ the server's certificate. */ ++ if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) { ++ /* Fail if we insist on successfully verifying the server. */ ++ failf(data, "error setting certificate verify locations:" ++ " CAfile: %s CApath: %s", ++ ssl_cafile ? ssl_cafile : "none", ++ ssl_capath ? ssl_capath : "none"); ++ return NULL; ++ } ++ infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none"); ++ infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none"); + } +- infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none"); +- infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none"); ++#ifdef CURL_CA_FALLBACK ++ else { ++ /* verifying the peer without any CA certificates won't work so ++ use openssl's built-in default as fallback */ ++ SSL_CTX_set_default_verify_paths(ssl_ctx); ++ } ++#endif + } + } + return ssl_ctx; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 934253c737aa..134ae716705e 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -62,18 +62,21 @@ assert zstdSupport -> zstd != null; stdenv.mkDerivation rec { pname = "curl"; - version = "7.83.0"; + version = "7.83.1"; src = fetchurl { urls = [ "https://curl.haxx.se/download/${pname}-${version}.tar.bz2" "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2" ]; - sha256 = "sha256-JHx+x1IcQljmVjTlKScNIU/jKWmXHMy3KEXnqkaDH5Y="; + sha256 = "sha256-9Tmjb7RKgmDsXZd+Tg290u7intkPztqpvDyfeKETv/A="; }; patches = [ ./7.79.1-darwin-no-systemconfiguration.patch + # quiche: support ca-fallback + # https://github.com/curl/curl/commit/fdb5e21b4dd171a96cf7c002ee77bb08f8e58021 + ./7.83.1-quiche-support-ca-fallback.patch ]; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; @@ -141,8 +144,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.isDarwin [ # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback to nss-cacert from the default profile. # Without this curl might detect /etc/ssl/cert.pem at build time on macOS, causing curl to ignore NIX_SSL_CERT_FILE. - # https://github.com/curl/curl/issues/8696 - fallback is not supported by HTTP3 - (if http3Support then "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" else "--without-ca-bundle") + "--without-ca-bundle" "--without-ca-path" ]; From eeff6c493373d3fff11421b55309fab6a1d4ec7d Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 12 May 2022 10:02:33 +0100 Subject: [PATCH 67/84] systemd: fix reproducibility of dbus interface xml systemd's `--bus-introspect` was generating nondeterministic xml which is saved into our build outputs --- pkgs/os-specific/linux/systemd/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 5d7ffe2d9191..14d5e29c372a 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -178,6 +178,13 @@ stdenv.mkDerivation { # need (AFAICT). # See https://github.com/systemd/systemd/pull/20479 for upstream discussion. ./0019-core-handle-lookup-paths-being-symlinks.patch + + # fixes reproducability of dbus xml files + # Should no longer be necessary with v251. + (fetchpatch { + url = "https://github.com/systemd/systemd/pull/22174.patch"; + sha256 = "sha256-RVhxUEUiISgRlIP/AhU+w1VHfDQw2W16cFl2TXXyxno="; + }) ] ++ lib.optional stdenv.hostPlatform.isMusl ( let oe-core = fetchzip { From ade93faa94dd7bcb43b7555d92d6d19ab1dc97a5 Mon Sep 17 00:00:00 2001 From: Artturi Date: Thu, 12 May 2022 14:03:34 +0300 Subject: [PATCH 68/84] python39Packages.sphinx: fix reproducibility (#172642) Co-authored-by: Sandro --- pkgs/development/python-modules/sphinx/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index bae27c6133e2..4639cf43d31b 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -51,6 +51,12 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ --replace "docutils>=0.14,<0.18" "docutils>=0.14" + + # remove impurity caused by date inclusion + # https://github.com/sphinx-doc/sphinx/blob/master/setup.cfg#L4-L6 + substituteInPlace setup.cfg \ + --replace "tag_build = .dev" "" \ + --replace "tag_date = true" "" ''; propagatedBuildInputs = [ From d82c0a58790d932e99ae625b316a07dfdda4aa93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 11 May 2022 14:33:34 +0200 Subject: [PATCH 69/84] python310Packages.jsonschema: 4.4.0 -> 4.5.1 --- .../python-modules/jsonschema/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/jsonschema/default.nix b/pkgs/development/python-modules/jsonschema/default.nix index dd2a47f1bcb6..202e047dd8ee 100644 --- a/pkgs/development/python-modules/jsonschema/default.nix +++ b/pkgs/development/python-modules/jsonschema/default.nix @@ -4,9 +4,7 @@ , fetchPypi , importlib-metadata , importlib-resources -, pyperf , pyrsistent -, pytestCheckHook , pythonOlder , setuptools-scm , twisted @@ -15,16 +13,20 @@ buildPythonPackage rec { pname = "jsonschema"; - version = "4.4.0"; + version = "4.5.1"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83"; + sha256 = "sha256-fG2IJhk0DDNHob9zFeFH5tPa5DkDOuY4PWrLkIwQHfw="; }; + postPatch = '' + patchShebangs json/bin/jsonschema_suite + ''; + SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ @@ -42,18 +44,21 @@ buildPythonPackage rec { ]; checkInputs = [ - pyperf - pytestCheckHook twisted ]; + checkPhase = '' + export JSON_SCHEMA_TEST_SUITE=json + trial jsonschema + ''; + pythonImportsCheck = [ "jsonschema" ]; meta = with lib; { description = "An implementation of JSON Schema validation for Python"; - homepage = "https://github.com/Julian/jsonschema"; + homepage = "https://github.com/python-jsonschema/jsonschema"; license = licenses.mit; maintainers = with maintainers; [ domenkozar ]; }; From bee3e742effa0932bda95f2134c8846687318a3b Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Wed, 11 May 2022 08:22:27 -0300 Subject: [PATCH 70/84] go_1_17: 1.17.9 -> 1.17.10 Signed-off-by: Otavio Salvador --- pkgs/development/compilers/go/1.17.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix index d9180e9001de..1483660d1ec9 100644 --- a/pkgs/development/compilers/go/1.17.nix +++ b/pkgs/development/compilers/go/1.17.nix @@ -54,11 +54,11 @@ in stdenv.mkDerivation rec { pname = "go"; - version = "1.17.9"; + version = "1.17.10"; src = fetchurl { url = "https://dl.google.com/go/go${version}.src.tar.gz"; - sha256 = "sha256-djrUuvuAqSBEWMX6K45zJ/qXGu5FQlLA42LBEjYVaBM="; + sha256 = "sha256-KZ5VrzDxVpGwFdjc+OyuckEkElaeWy7OIDYXU6RW8vk="; }; # perl is used for testing go vet @@ -167,7 +167,6 @@ stdenv.mkDerivation rec { ./remove-test-pie-1.15.patch ./creds-test.patch ./go-1.9-skip-flaky-19608.patch - ./go-1.9-skip-flaky-20072.patch ./skip-chown-tests-1.16.patch ./skip-external-network-tests-1.16.patch ./skip-nohup-tests.patch From 954efdfff3a45afd0aa74b3244a98d73a9162803 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Thu, 12 May 2022 22:04:21 +0100 Subject: [PATCH 71/84] curl: disable test 1086 on darwin failures seem common on aarch64, disabling on darwin out of caution as it may be more a matter of newer macos releases having issues with it --- pkgs/tools/networking/curl/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 134ae716705e..66d2dfcdb9ae 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -157,6 +157,7 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.isDarwin '' # bad interaction with sandbox if enabled? rm tests/data/test1453 + rm tests/data/test1086 '' + lib.optionalString stdenv.hostPlatform.isMusl '' # different resolving behaviour? rm tests/data/test1592 From 6eb4f210a5b7871329f4dda239110fb840fbb1d6 Mon Sep 17 00:00:00 2001 From: Konrad Borowski Date: Fri, 13 May 2022 16:08:25 +0200 Subject: [PATCH 72/84] http-parser: fix i686 build --- pkgs/development/libraries/http-parser/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix index aff5b1ea3c18..146262a42582 100644 --- a/pkgs/development/libraries/http-parser/default.nix +++ b/pkgs/development/libraries/http-parser/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-Wno-error"; patches = [ ./build-shared.patch + ] ++ lib.optionals stdenv.isAarch32 [ # https://github.com/nodejs/http-parser/pull/510 (fetchpatch { url = "https://github.com/nodejs/http-parser/commit/4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878.patch"; From c1809efb1d6fbcefba0a020b3f05091a64453b24 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 15 May 2022 20:58:11 +0300 Subject: [PATCH 73/84] python*Packages.azure-core: 1.23.1 -> 1.24.0, fix tests Upstream PR: https://github.com/Azure/azure-sdk-for-python/pull/24450 --- .../python-modules/azure-core/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix index 260a40e9de80..6a667d468b5a 100644 --- a/pkgs/development/python-modules/azure-core/default.nix +++ b/pkgs/development/python-modules/azure-core/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27 +{ lib, stdenv, buildPythonPackage, fetchpatch, fetchPypi, isPy27 , aiodns , aiohttp , flask @@ -15,16 +15,26 @@ }: buildPythonPackage rec { - version = "1.23.1"; + version = "1.24.0"; pname = "azure-core"; disabled = isPy27; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "sha256-KKAd+68KaBLE4qgtFkLqMJVqlznyW8d8myO5H06mjw8="; + sha256 = "sha256-NFsbBB+q19AgWyDVaX8dDfNEMC56qoUBkFWA/4e9C+U="; }; + patches = [ + # FIXME: fixes tests with new versions of flask/werkzeug + # upstream PR: https://github.com/Azure/azure-sdk-for-python/pull/24450 + (fetchpatch { + url = "https://github.com/Azure/azure-sdk-for-python/commit/fb20b0b985f614bb7bcd84f3f5f6f3105de25fd9.patch"; + stripLen = 3; + sha256 = "sha256-Gt5T/UkQT1yml8bqYbeUpimfOPlmzpN1KKKUnbU9xJw="; + }) + ]; + propagatedBuildInputs = [ requests six From 20581e0cc9350b2bddb2b99543094372f9079ddf Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 15 May 2022 22:35:37 +0300 Subject: [PATCH 74/84] python*Packages.pymdown-extensions: 9.1 -> 9.4 --- .../pymdown-extensions/default.nix | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/pymdown-extensions/default.nix b/pkgs/development/python-modules/pymdown-extensions/default.nix index 94a73fd82112..068c3196952d 100644 --- a/pkgs/development/python-modules/pymdown-extensions/default.nix +++ b/pkgs/development/python-modules/pymdown-extensions/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub -, fetchpatch +, hatchling , pytestCheckHook , markdown , pyyaml @@ -38,26 +38,17 @@ let in buildPythonPackage rec { pname = "pymdown-extensions"; - version = "9.1"; + version = "9.4"; format = "pyproject"; src = fetchFromGitHub { owner = "facelessuser"; repo = "pymdown-extensions"; rev = version; - sha256 = "sha256-II8Po8144h3wPFrzMbOB/qiCm2HseYrcZkyIZFGT+ek="; + sha256 = "sha256-9oYLDerz6ZcE4QyLO4mFPuHws8oZoXX8LcSV209MFec="; }; - patches = [ - # this patch is needed to allow tests to pass for later versions of the - # markdown dependency - # - # it can be removed after the next pymdown-extensions release - (fetchpatch { - url = "https://github.com/facelessuser/pymdown-extensions/commit/8ee5b5caec8f9373e025f50064585fb9d9b71f86.patch"; - sha256 = "sha256-jTHNcsV0zL0EkSTSj8zCGXXtpUaLnNPldmL+krZj3Gk="; - }) - ]; + nativeBuildInputs = [ hatchling ]; propagatedBuildInputs = [ markdown pygments ]; From 36c7b97ebf49d371f87851cff81a960e40df3373 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 15 May 2022 23:11:40 +0300 Subject: [PATCH 75/84] python*Packages.mkdocs-material: 8.2.11 -> 8.2.15 --- pkgs/development/python-modules/mkdocs-material/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix index a0df10008926..feed177a9af2 100644 --- a/pkgs/development/python-modules/mkdocs-material/default.nix +++ b/pkgs/development/python-modules/mkdocs-material/default.nix @@ -13,7 +13,7 @@ buildPythonApplication rec { pname = "mkdocs-material"; - version = "8.2.11"; + version = "8.2.15"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -22,7 +22,7 @@ buildPythonApplication rec { owner = "squidfunk"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-YAXdIA36QWwdQxTux6Sy/F0j8lprSO+5/VezFcsGQYg="; + hash = "sha256-6x3ENFPGmtRDMV6YRGlTLCYusmX49LrGBDwicg8sDB0="; }; propagatedBuildInputs = [ From 681f4c49e9ca1b71e3580db619c891c07973fcaa Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 15 May 2022 23:20:48 +0300 Subject: [PATCH 76/84] apache-airflow: mark broken It doesn't build and probably won't any time soon, as it still depends on pre-2.0 Flask. --- pkgs/development/python-modules/apache-airflow/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix index 948fae7893b8..c753458fb7e7 100644 --- a/pkgs/development/python-modules/apache-airflow/default.nix +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -243,5 +243,7 @@ buildPythonPackage rec { homepage = "https://airflow.apache.org/"; license = licenses.asl20; maintainers = with maintainers; [ bhipple costrouc ingenieroariel ]; + # requires extremely outdated versions of multiple dependencies + broken = true; }; } From b50d94a3f27ce81ba39068c2450084460c627886 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 16 May 2022 00:41:07 +0300 Subject: [PATCH 77/84] python*Packages.djangorestframework: add missing dependency --- .../python-modules/djangorestframework/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix index 131be8781b36..f8de884a24f0 100644 --- a/pkgs/development/python-modules/djangorestframework/default.nix +++ b/pkgs/development/python-modules/djangorestframework/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchFromGitHub, django, isPy27 }: +{ lib, buildPythonPackage, fetchFromGitHub, django, pytz, isPy27 }: buildPythonPackage rec { version = "3.12.4"; @@ -15,7 +15,7 @@ buildPythonPackage rec { # Test settings are missing doCheck = false; - propagatedBuildInputs = [ django ]; + propagatedBuildInputs = [ django pytz ]; meta = with lib; { description = "Web APIs for Django, made easy"; From a4c0d2b344721ad37667776ba5388271ca756e01 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 16 May 2022 00:41:07 +0300 Subject: [PATCH 78/84] netbox: fix build, drop overrides, update Django --- pkgs/servers/web-apps/netbox/default.nix | 33 ++---------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix index 988076947bc2..ee868397ee79 100644 --- a/pkgs/servers/web-apps/netbox/default.nix +++ b/pkgs/servers/web-apps/netbox/default.nix @@ -9,36 +9,7 @@ let py = python3.override { packageOverrides = self: super: { - django = super.django_3; - jsonschema = super.jsonschema.overridePythonAttrs (old: rec { - version = "3.2.0"; - src = self.fetchPypi { - pname = old.pname; - inherit version; - sha256 = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"; - }; - }); - lxml = super.lxml.overridePythonAttrs (old: rec { - version = "4.6.5"; - src = self.fetchPypi { - pname = old.pname; - inherit version; - sha256 = "6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca"; - }; - }); - werkzeug = super.werkzeug.overridePythonAttrs (old: rec { - version = "2.0.3"; - src = self.fetchPypi { - pname = "Werkzeug"; - inherit version; - sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw="; - }; - }); - sentry-sdk = super.sentry-sdk.overridePythonAttrs (old: rec { - disabledTestPaths = old.disabledTestPaths ++ [ - "tests/integrations/flask/test_flask.py" - ]; - }); + django = super.django_4; }; }; @@ -64,7 +35,7 @@ py.pkgs.buildPythonApplication rec { ]; propagatedBuildInputs = with py.pkgs; [ - django_3 + django_4 django-cors-headers django-debug-toolbar django-filter From 016facb869ed894692bee9963d580d77b45d146b Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 16 May 2022 11:40:25 +0300 Subject: [PATCH 79/84] hyperkitty: backport patch fixing Python 3.10 support --- pkgs/servers/mail/mailman/hyperkitty.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix index d1e4581789e0..b84e78e323d1 100644 --- a/pkgs/servers/mail/mailman/hyperkitty.nix +++ b/pkgs/servers/mail/mailman/hyperkitty.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, fetchpatch , fetchPypi , pythonOlder @@ -40,6 +41,15 @@ buildPythonPackage rec { sha256 = "sha256-gmkiK8pIHfubbbxNdm/D6L2o722FptxYgINYdIUOn4Y="; }; + patches = [ + # FIXME: backport Python 3.10 support fix, remove for next release + (fetchpatch { + url = "https://gitlab.com/mailman/hyperkitty/-/commit/551a44a76e46931fc5c1bcb341235d8f579820be.patch"; + sha256 = "sha256-5XCrvyrDEqH3JryPMoOXSlVVDLQ+PdYBqwGYxkExdvk="; + includes = [ "hyperkitty/*" ]; + }) + ]; + postPatch = '' # isort is a development dependency sed -i '/isort/d' setup.py From 4c0c8ac7fe0caca8655e2e75807bac1a4cf0fbe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 16 May 2022 18:27:11 +0200 Subject: [PATCH 80/84] rc: fixup build There was a race between update (db93a10d817) and adding strictDeps = true; (ea79263e608). --- pkgs/shells/rc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/rc/default.nix b/pkgs/shells/rc/default.nix index b0caea998755..5783607751ad 100644 --- a/pkgs/shells/rc/default.nix +++ b/pkgs/shells/rc/default.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook byacc ]; # acinclude.m4 wants headers for tgetent(). - buildInputs = [ byacc ncurses ] + buildInputs = [ ncurses ] ++ lib.optionals readlineSupport [ readline ]; configureFlags = [ From 49f025520c03a77b318c9a5338ec9fdecc69da4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 16 May 2022 19:40:29 +0200 Subject: [PATCH 81/84] python310Packages.azure-core: update disabled --- pkgs/development/python-modules/azure-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix index 6a667d468b5a..bae168e26dd4 100644 --- a/pkgs/development/python-modules/azure-core/default.nix +++ b/pkgs/development/python-modules/azure-core/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPythonPackage, fetchpatch, fetchPypi, isPy27 +{ lib, stdenv, buildPythonPackage, fetchpatch, fetchPypi, pythonOlder , aiodns , aiohttp , flask @@ -17,7 +17,7 @@ buildPythonPackage rec { version = "1.24.0"; pname = "azure-core"; - disabled = isPy27; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; From a30a34427c7235706164054394b3a5a628952a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 16 May 2022 20:30:44 +0200 Subject: [PATCH 82/84] Revert "libpcap: move dev things to extra output" This reverts commit c96b21c78be0c5f954ac7fc218c5fadb683656dd. --- pkgs/development/libraries/libpcap/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index dbf494374cbb..f3d3587c14fa 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -6,8 +6,6 @@ stdenv.mkDerivation rec { pname = "libpcap"; version = "1.10.1"; - outputs = [ "out" "dev" ]; - src = fetchurl { url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; sha256 = "sha256-7ShfSsyvBTRPkJdXV7Pb/ncrpB0cQBwmSLf6RbcRvdQ="; @@ -29,8 +27,6 @@ stdenv.mkDerivation rec { if [ "$dontDisableStatic" -ne "1" ]; then rm -f $out/lib/libpcap.a fi - - moveToOutput "bin/pcap-config" "$dev" ''; meta = { From 89c3a254458324999c77eb619ba6ea165bc4f468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 16 May 2022 22:52:28 +0200 Subject: [PATCH 83/84] gnome3.adwaita-icon-theme: reduce build parallelism It was repeatedly failing to fork on our aarch64-darwin buildrers: https://hydra.nixos.org/build/176633576#tabs-buildsteps --- .../gnome/core/adwaita-icon-theme/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix index b3c9e1ea62ae..5e36cd109e43 100644 --- a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix +++ b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, gnome +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, intltool, gnome , iconnamingutils, gtk3, gdk-pixbuf, librsvg, hicolor-icon-theme }: stdenv.mkDerivation rec { @@ -10,12 +10,20 @@ stdenv.mkDerivation rec { sha256 = "XoW1rcje5maQD8rycbpxf33LnQoD2W2uCPnL0n4YseA="; }; + patches = [ + (fetchpatch { + name = "reduce-build-parallelism.patch"; + url = "https://gitlab.gnome.org/vcunat/adwaita-icon-theme/-/commit/27edeca7927eb2247d7385fccb3f0fd7787471e6.patch"; + sha256 = "vDWuvz5yRhtn9obTtHRp6J7gJpXDZz1cajyquPGw53I="; + }) + ]; + # For convenience, we can specify adwaita-icon-theme only in packages propagatedBuildInputs = [ hicolor-icon-theme ]; buildInputs = [ gdk-pixbuf librsvg ]; - nativeBuildInputs = [ pkg-config intltool iconnamingutils gtk3 ]; + nativeBuildInputs = [ pkg-config autoreconfHook intltool iconnamingutils gtk3 ]; dontDropIconThemeCache = true; From e11568dd9cfccfeb1267199feafea247f444848e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 17 May 2022 11:47:41 +0200 Subject: [PATCH 84/84] Revert "Merge #171177: go-modules/packages: Improve `checkFlags` handling" This reverts commit 361139c574ab2a37c46cd705fac90ada130ea139, reversing changes made to 77ee91f1d318a03fa96571656ce8af25a236fbca. This broke tests in some go packages, and at this point I don't want further delays from figuring out what's wrong. This probably won't make it to 22.05. Example failures: https://hydra.nixos.org/build/176551928 https://hydra.nixos.org/build/176546993 but I think there were more among https://hydra.nixos.org/eval/1762178?compare=1762151#tabs-now-fail --- .../go-modules/generic/default.nix | 20 +++++-------------- .../go-packages/generic/default.nix | 20 +++++-------------- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index d0dc55376faa..4dff2d82848d 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -180,22 +180,12 @@ let exclude+='\)' buildGoDir() { - local cmd="$1" dir="$2" - + local d; local cmd; + cmd="$1" + d="$2" . $TMPDIR/buildFlagsArray - - declare -a flags - flags+=($buildFlags "''${buildFlagsArray[@]}") - flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) - flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") - - if [ "$cmd" = "test" ]; then - flags+=($checkFlags) - fi - local OUT - if ! OUT="$(go $cmd "''${flags[@]}" $dir 2>&1)"; then + if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then echo "$OUT" >&2 return 1 @@ -253,7 +243,7 @@ let runHook preCheck for pkg in $(getGoDirs test); do - buildGoDir test "$pkg" + buildGoDir test $checkFlags "$pkg" done runHook postCheck diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix index 643c1955d2b0..0559f7f07a7c 100644 --- a/pkgs/development/go-packages/generic/default.nix +++ b/pkgs/development/go-packages/generic/default.nix @@ -160,22 +160,12 @@ let exclude+='\)' buildGoDir() { - local cmd="$1" dir="$2" - + local d; local cmd; + cmd="$1" + d="$2" . $TMPDIR/buildFlagsArray - - declare -a flags - flags+=($buildFlags "''${buildFlagsArray[@]}") - flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) - flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") - - if [ "$cmd" = "test" ]; then - flags+=($checkFlags) - fi - local OUT - if ! OUT="$(go $cmd "''${flags[@]}" $dir 2>&1)"; then + if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then echo "$OUT" >&2 return 1 @@ -235,7 +225,7 @@ let runHook preCheck for pkg in $(getGoDirs test); do - buildGoDir test "$pkg" + buildGoDir test $checkFlags "$pkg" done runHook postCheck