diff --git a/nixos/lib/testing/driver.nix b/nixos/lib/testing/driver.nix index 6ddb7a341bd3..6abfac7b3191 100644 --- a/nixos/lib/testing/driver.nix +++ b/nixos/lib/testing/driver.nix @@ -91,7 +91,7 @@ let PYFLAKES_BUILTINS="$( echo -n ${lib.escapeShellArg (lib.concatStringsSep "," pythonizedNames)}, - < ${lib.escapeShellArg "driver-symbols"} + cat ${lib.escapeShellArg "driver-symbols"} )" ${hostPkgs.python3Packages.pyflakes}/bin/pyflakes $out/test-script ''} diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index a0ece3a08305..e580cdd43390 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -79,11 +79,14 @@ python3Packages.buildPythonApplication { pytestCheckHook ]; - pytestFlagsArray = [ - # fails on ofborg because of lack of cpu vendor information - "--deselect=tests/controller/gns3vm/test_virtualbox_gns3_vm.py::test_cpu_vendor_id" + pytestFlags = [ # Rerun failed tests up to three times (flaky tests) - "--reruns 3" + "--reruns=3" + ]; + + disabledTestPaths = [ + # fails on ofborg because of lack of cpu vendor information + "tests/controller/gns3vm/test_virtualbox_gns3_vm.py::test_cpu_vendor_id" ]; passthru.tests = { diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix index bcaeafce029e..93452cac87f2 100644 --- a/pkgs/applications/version-management/git/default.nix +++ b/pkgs/applications/version-management/git/default.nix @@ -60,7 +60,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.50.0"; + version = "2.50.1"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI @@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: { }.tar.xz" else "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - hash = "sha256-3/PAAOQArOOmO4pvizt2uI7P3/1FBKBKukJINyzewEU="; + hash = "sha256-fj5sNt7L2PHu3RTULbZnS+A2ccIgSGS++ipBdWxcj8Q="; }; outputs = [ "out" ] ++ lib.optional withManual "doc"; diff --git a/pkgs/build-support/rust/replace-workspace-values.py b/pkgs/build-support/rust/replace-workspace-values.py index a03bf42eae38..426d1b961296 100644 --- a/pkgs/build-support/rust/replace-workspace-values.py +++ b/pkgs/build-support/rust/replace-workspace-values.py @@ -43,8 +43,14 @@ def replace_key( if merged_features: final["features"] = merged_features - local_default_features = local_dep.pop("default-features", None) - workspace_default_features = workspace_dep.get("default-features") + local_default_features = local_dep.pop( + "default-features", + local_dep.pop("default_features", None) + ) + workspace_default_features = workspace_dep.get( + "default-features", + workspace_dep.get("default_features") + ) if not workspace_default_features and local_default_features: final["default-features"] = True diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 7fb6dc86c87a..5bd1f5078ad0 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -68,31 +68,6 @@ patchShebangs() { return 0 fi - # like sponge from moreutils but in pure bash - _sponge() { - local content - local target - local restoreReadOnly - content="" - target="$1" - - # Make file writable if it is read-only - if [[ ! -w "$target" ]]; then - chmod +w "$target" - restoreReadOnly=true - fi - - while IFS= read -r line || [[ -n "$line" ]]; do - content+="$line"$'\n' - done - printf '%s' "$content" > "$target" - - # Restore read-only if it was read-only before - if [[ -n "${restoreReadOnly:-}" ]]; then - chmod -w "$target" - fi - } - local f while IFS= read -r -d $'\0' f; do isScript "$f" || continue @@ -151,14 +126,31 @@ patchShebangs() { # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281 timestamp=$(stat --printf "%y" "$f") - sed -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" | _sponge "$f" + + # Manually create temporary file instead of using sed -i + # (sed -i on $out/x creates tmpfile /nix/store/x which fails on macos + sandbox) + tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX) + sed -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" > "$tmpFile" + + # Make original file writable if it is read-only + local restoreReadOnly + if [[ ! -w "$f" ]]; then + chmod +w "$f" + restoreReadOnly=true + fi + + # Replace the original file's content with the patched content + # (preserving permissions) + cat "$tmpFile" > "$f" + rm "$tmpFile" + if [[ -n "${restoreReadOnly:-}" ]]; then + chmod -w "$f" + fi touch --date "$timestamp" "$f" fi fi done < <(find "$@" -type f -perm -0100 -print0) - - unset -f _sponge } patchShebangsAuto () { diff --git a/pkgs/by-name/au/audit/musl.patch b/pkgs/by-name/au/audit/musl.patch new file mode 100644 index 000000000000..8485a0759548 --- /dev/null +++ b/pkgs/by-name/au/audit/musl.patch @@ -0,0 +1,76 @@ +From 87c782153deb10bd8c3345723a8bcee343826e78 Mon Sep 17 00:00:00 2001 +From: Grimmauld +Date: Thu, 10 Jul 2025 18:58:31 +0200 +Subject: [PATCH 1/2] lib/audit_logging.h: fix includes for musl + +`sys/types.h` is indirectly included with `glibc`, +but needs to be specified explicitly on musl. +--- + lib/audit_logging.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/audit_logging.h b/lib/audit_logging.h +index 9082a2720..c58861b1e 100644 +--- a/lib/audit_logging.h ++++ b/lib/audit_logging.h +@@ -25,6 +25,7 @@ + + // Next include is to pick up the function attribute macros + #include ++#include + #include + + #ifdef __cplusplus + +From 98adfcc4bfa66ac25db0b609d7172d7d40c4f85f Mon Sep 17 00:00:00 2001 +From: Grimmauld +Date: Fri, 11 Jul 2025 08:11:21 +0200 +Subject: [PATCH 2/2] Guard __attr_dealloc_free seperately from __attr_dealloc + +Otherwise, header include order matters when building against a libc that +does not itself define __attr_dealloc_free, such as musl. +--- + auparse/auparse.h | 2 ++ + lib/audit_logging.h | 2 ++ + lib/libaudit.h | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git a/auparse/auparse.h b/auparse/auparse.h +index 48375e2c7..ba5139625 100644 +--- a/auparse/auparse.h ++++ b/auparse/auparse.h +@@ -31,6 +31,8 @@ + #endif + #ifndef __attr_dealloc + # define __attr_dealloc(dealloc, argno) ++#endif ++#ifndef __attr_dealloc_free + # define __attr_dealloc_free + #endif + #ifndef __attribute_malloc__ +diff --git a/lib/audit_logging.h b/lib/audit_logging.h +index c58861b1e..fab7e75d1 100644 +--- a/lib/audit_logging.h ++++ b/lib/audit_logging.h +@@ -40,6 +40,8 @@ extern "C" { + #endif + #ifndef __attr_dealloc + # define __attr_dealloc(dealloc, argno) ++#endif ++#ifndef __attr_dealloc_free + # define __attr_dealloc_free + #endif + // Warn unused result +diff --git a/lib/libaudit.h b/lib/libaudit.h +index 2c51853b7..cce5dc493 100644 +--- a/lib/libaudit.h ++++ b/lib/libaudit.h +@@ -43,6 +43,8 @@ + // malloc and free assignments + #ifndef __attr_dealloc + # define __attr_dealloc(dealloc, argno) ++#endif ++#ifndef __attr_dealloc_free + # define __attr_dealloc_free + #endif + #ifndef __attribute_malloc__ diff --git a/pkgs/by-name/au/audit/package.nix b/pkgs/by-name/au/audit/package.nix index 5d4817447d99..65fa3348f82e 100644 --- a/pkgs/by-name/au/audit/package.nix +++ b/pkgs/by-name/au/audit/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, bash, buildPackages, @@ -21,31 +20,18 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "audit"; - version = "4.0.5"; + version = "4.1.0"; src = fetchFromGitHub { owner = "linux-audit"; repo = "audit-userspace"; tag = "v${finalAttrs.version}"; - hash = "sha256-SgMt1MmcH7r7O6bmJCetRg3IdoZXAXjVJyeu0HRfyf8="; + hash = "sha256-MWlHaGue7Ca8ks34KNg74n4Rfj8ivqAhLOJHeyE2Q04="; }; patches = [ - # nix configures most stuff by symlinks, e.g. in /etc - # thus, for plugins to be picked up, symlinks must be allowed - # https://github.com/linux-audit/audit-userspace/pull/467 - (fetchpatch { - url = "https://github.com/linux-audit/audit-userspace/pull/467/commits/dbefc642b3bd0cafe599fcd18c6c88cb672397ee.patch?full_index=1"; - hash = "sha256-Ksn/qKBQYFAjvs1OVuWhgWCdf4Bdp9/a+MrhyJAT+Bw="; - }) - (fetchpatch { - url = "https://github.com/linux-audit/audit-userspace/pull/467/commits/50094f56fefc0b9033ef65e8c4f108ed52ef5de5.patch?full_index=1"; - hash = "sha256-CJKDLdlpsCd+bG6j5agcnxY1+vMCImHwHGN6BXURa4c="; - }) - (fetchpatch { - url = "https://github.com/linux-audit/audit-userspace/pull/467/commits/5e75091abd297807b71b3cfe54345c2ef223939a.patch?full_index=1"; - hash = "sha256-LPpO4PH/3MyCJq2xhmhhcnFeK3yh7LK6Mjypuvhacu4="; - }) + # https://github.com/linux-audit/audit-userspace/pull/476 + ./musl.patch ]; postPatch = '' @@ -54,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: { "${linuxHeaders}/include/linux/audit.h" ''; + # https://github.com/linux-audit/audit-userspace/issues/474 + # building databuf_test fails otherwise, as that uses hidden symbols only available in the static builds + dontDisableStatic = true; + outputs = [ "bin" "lib" diff --git a/pkgs/by-name/aw/aws-sam-cli/package.nix b/pkgs/by-name/aw/aws-sam-cli/package.nix index 996af6a74f75..7c369c80a931 100644 --- a/pkgs/by-name/aw/aws-sam-cli/package.nix +++ b/pkgs/by-name/aw/aws-sam-cli/package.nix @@ -105,11 +105,13 @@ python3.pkgs.buildPythonApplication rec { export PATH="$PATH:$out/bin:${lib.makeBinPath [ git ]}" ''; - pytestFlagsArray = [ - "tests" + pytestFlags = [ # Disable warnings - "-W" - "ignore::DeprecationWarning" + "-Wignore::DeprecationWarning" + ]; + + enabledTestPaths = [ + "tests" ]; disabledTestPaths = [ diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index aa30c56faba6..7b11f0fefbec 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -2,6 +2,7 @@ lib, stdenv, alsa-lib, + autoreconfHook, dbus, docutils, ell, @@ -34,6 +35,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-EIUi2QnSIFgTmb/sk9qrYgNVOc7vPdo+eZcHhcY70kw="; }; + patches = [ + (fetchurl { + name = "static.patch"; + url = "https://lore.kernel.org/linux-bluetooth/20250703182908.2370130-1-hi@alyssa.is/raw"; + hash = "sha256-4Yz3ljsn2emJf+uTcJO4hG/YXvjERtitce71TZx5Hak="; + }) + ]; + buildInputs = [ alsa-lib dbus @@ -47,6 +56,7 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ + autoreconfHook docutils pkg-config python3Packages.pygments @@ -101,6 +111,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.enableFeature true "nfc") (lib.enableFeature true "pie") (lib.enableFeature true "sixaxis") + (lib.enableFeature (lib.elem "libsystemd" udev.meta.pkgConfigModules) "systemd") # Set "deprecated" to provide ciptool, sdptool, and rfcomm (unmaintained); # superseded by new D-Bus APIs (lib.enableFeature true "deprecated") diff --git a/pkgs/by-name/da/davfs2/package.nix b/pkgs/by-name/da/davfs2/package.nix index 8d7519437ec0..8fa87ba09566 100644 --- a/pkgs/by-name/da/davfs2/package.nix +++ b/pkgs/by-name/da/davfs2/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, autoreconfHook, neon, procps, @@ -36,6 +37,11 @@ stdenv.mkDerivation (finalAttrs: { (replaceVars ./0002-Make-sure-that-the-setuid-wrapped-umount-is-invoked.patch { inherit wrapperDir; }) + (fetchpatch { + name = "neon-34.patch"; + url = "https://github.com/alisarctl/davfs2/commit/2693a9a2656b70a64ee851d5c22a2945d840dcbb.diff"; + hash = "sha256-KK+4cjrUrWcyY6F5otNgrZ4BojJ4NiMm/Y1zejCt4Tc="; + }) ]; configureFlags = [ diff --git a/pkgs/by-name/da/davs2/package.nix b/pkgs/by-name/da/davs2/package.nix new file mode 100644 index 000000000000..80cba69d12f0 --- /dev/null +++ b/pkgs/by-name/da/davs2/package.nix @@ -0,0 +1,70 @@ +{ + lib, + fetchFromGitHub, + gitUpdater, + stdenv, + testers, + nasm, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "davs2"; + version = "1.7"; + + src = fetchFromGitHub { + owner = "pkuvcl"; + repo = "davs2"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-SUY3arrVsFecMcbpmQP0+4rtcSRfQc6pzxZDcEuMWPU="; + }; + + postPatch = '' + substituteInPlace ./version.sh \ + --replace-fail "date" 'date -ud "@$SOURCE_DATE_EPOCH"' + ''; + + preConfigure = '' + # Generate version.h + ./version.sh + cd build/linux + + # We need to explicitly set AS to nasm on x86, because the assembly code uses NASM-isms, + # and to empty string on all other platforms, because the build system erroneously assumes + # that assembly code exists for non-x86 platforms, and will not attempt to build it + # if AS is explicitly set to empty. + export AS=${if stdenv.hostPlatform.isx86 then "nasm" else ""} + ''; + + configureFlags = [ + "--cross-prefix=${stdenv.cc.targetPrefix}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ + (lib.enableFeature true "shared") + "--system-libdavs2" + ]; + + nativeBuildInputs = [ + nasm + ]; + + outputs = [ + "out" + "lib" + "dev" + ]; + + passthru = { + updateScript = gitUpdater { }; + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + }; + + meta = { + homepage = "https://github.com/pkuvcl/davs2"; + description = "Open-source decoder of AVS2-P2/IEEE1857.4 video coding standard"; + license = lib.licenses.gpl2Plus; + mainProgram = "davs2"; + pkgConfigModules = [ "davs2" ]; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/dn/dnsdist/package.nix b/pkgs/by-name/dn/dnsdist/package.nix index cf4543eb4d0f..e7d06342160a 100644 --- a/pkgs/by-name/dn/dnsdist/package.nix +++ b/pkgs/by-name/dn/dnsdist/package.nix @@ -62,6 +62,7 @@ stdenv.mkDerivation rec { "--disable-dependency-tracking" "--enable-unit-tests" "--enable-systemd" + "--with-boost=${boost.dev}" ]; doCheck = true; diff --git a/pkgs/by-name/er/errbot/package.nix b/pkgs/by-name/er/errbot/package.nix index 071643f5ab1c..d164c7be9c78 100644 --- a/pkgs/by-name/er/errbot/package.nix +++ b/pkgs/by-name/er/errbot/package.nix @@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication rec { ]; # errbot-backend-slackv3 has not been packaged - pytestFlagsArray = [ "--ignore=tests/backend_tests/slack_test.py" ]; + disabledTestPaths = [ "tests/backend_tests/slack_test.py" ]; disabledTests = [ # require networking diff --git a/pkgs/by-name/et/ethtool/package.nix b/pkgs/by-name/et/ethtool/package.nix index 13b15abe5f2a..a648cc454034 100644 --- a/pkgs/by-name/et/ethtool/package.nix +++ b/pkgs/by-name/et/ethtool/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "ethtool"; - version = "6.14"; + version = "6.15"; src = fetchurl { url = "mirror://kernel/software/network/ethtool/ethtool-${version}.tar.xz"; - hash = "sha256-kzi7AOSSh407vjzSiU5g2zWBNjTCCNsLIPXH7oTaabE="; + hash = "sha256-lHfDZRFNkQEgquxTNqHRYZbIM9hIb3xtpnvt71eICt4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fo/fontforge/package.nix b/pkgs/by-name/fo/fontforge/package.nix index 4145a509a2f0..c6c3199bb318 100644 --- a/pkgs/by-name/fo/fontforge/package.nix +++ b/pkgs/by-name/fo/fontforge/package.nix @@ -5,7 +5,6 @@ fetchpatch, replaceVars, cmake, - uthash, pkg-config, python3, freetype, @@ -98,7 +97,6 @@ stdenv.mkDerivation rec { buildInputs = [ readline - uthash woff2 zeromq py diff --git a/pkgs/by-name/ga/gallery-dl/package.nix b/pkgs/by-name/ga/gallery-dl/package.nix index a960d5a9ce18..98ba4ecb8d3d 100644 --- a/pkgs/by-name/ga/gallery-dl/package.nix +++ b/pkgs/by-name/ga/gallery-dl/package.nix @@ -36,13 +36,13 @@ python3Packages.buildPythonApplication { "test_init" ]; - pytestFlagsArray = [ + disabledTestPaths = [ # requires network access - "--ignore=test/test_results.py" - "--ignore=test/test_downloader.py" + "test/test_results.py" + "test/test_downloader.py" # incompatible with pytestCheckHook - "--ignore=test/test_ytdl.py" + "test/test_ytdl.py" ]; pythonImportsCheck = [ "gallery_dl" ]; diff --git a/pkgs/by-name/ga/game-music-emu/package.nix b/pkgs/by-name/ga/game-music-emu/package.nix index ee1f18715f39..ca782008a7b9 100644 --- a/pkgs/by-name/ga/game-music-emu/package.nix +++ b/pkgs/by-name/ga/game-music-emu/package.nix @@ -1,21 +1,22 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, cmake, removeReferencesTo, zlib, }: stdenv.mkDerivation rec { - version = "0.6.3"; + version = "0.6.4"; pname = "game-music-emu"; - src = fetchurl { - url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.xz"; - sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"; + src = fetchFromGitHub { + owner = "libgme"; + repo = "game-music-emu"; + tag = version; + hash = "sha256-qGNWFFUUjv2R5e/nQrriAyDJCARISqNB8e5/1zEJ3fk="; }; - cmakeFlags = [ "-DENABLE_UBSAN=OFF" ]; nativeBuildInputs = [ cmake removeReferencesTo @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://bitbucket.org/mpyne/game-music-emu/wiki/Home"; + homepage = "https://github.com/libgme/game-music-emu/"; description = "Collection of video game music file emulators"; license = licenses.lgpl21Plus; platforms = platforms.all; diff --git a/pkgs/by-name/ha/hatch/package.nix b/pkgs/by-name/ha/hatch/package.nix index 7b1005ed41b3..4a84cebaf34a 100644 --- a/pkgs/by-name/ha/hatch/package.nix +++ b/pkgs/by-name/ha/hatch/package.nix @@ -72,33 +72,6 @@ python3Packages.buildPythonApplication rec { versionCheckProgramArg = "--version"; - pytestFlagsArray = [ - # AssertionError on the version metadata - # https://github.com/pypa/hatch/issues/1877 - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV21::test_all" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV21::test_license_expression" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV22::test_all" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV22::test_license_expression" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_all" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_license_expression" - "--deselect=tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_license_files" - "--deselect=tests/backend/metadata/test_spec.py::TestProjectMetadataFromCoreMetadata::test_license_files" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Dependency/versioning errors in the CLI tests, only seem to show up on Darwin - # https://github.com/pypa/hatch/issues/1893 - "--deselect=tests/cli/env/test_create.py::test_sync_dependencies_pip" - "--deselect=tests/cli/env/test_create.py::test_sync_dependencies_uv" - "--deselect=tests/cli/project/test_metadata.py::TestBuildDependenciesMissing::test_no_compatibility_check_if_exists" - "--deselect=tests/cli/run/test_run.py::TestScriptRunner::test_dependencies" - "--deselect=tests/cli/run/test_run.py::TestScriptRunner::test_dependencies_from_tool_config" - "--deselect=tests/cli/run/test_run.py::test_dependency_hash_checking" - "--deselect=tests/cli/run/test_run.py::test_sync_dependencies" - "--deselect=tests/cli/run/test_run.py::test_sync_project_dependencies" - "--deselect=tests/cli/run/test_run.py::test_sync_project_features" - "--deselect=tests/cli/version/test_version.py::test_no_compatibility_check_if_exists" - ]; - disabledTests = [ # AssertionError: assert (1980, 1, 2, 0, 0, 0) == (2020, 2, 2, 0, 0, 0) "test_default" @@ -154,6 +127,17 @@ python3Packages.buildPythonApplication rec { # https://github.com/pypa/hatch/issues/1850 "tests/backend/licenses/test_parse.py" "tests/backend/licenses/test_supported.py" + + # AssertionError on the version metadata + # https://github.com/pypa/hatch/issues/1877 + "tests/backend/metadata/test_spec.py::TestCoreMetadataV21::test_all" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV21::test_license_expression" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV22::test_all" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV22::test_license_expression" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_all" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_license_expression" + "tests/backend/metadata/test_spec.py::TestCoreMetadataV23::test_license_files" + "tests/backend/metadata/test_spec.py::TestProjectMetadataFromCoreMetadata::test_license_files" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # AssertionError: assert [call('test h...2p32/bin/sh')] == [call('test h..., shell=True)] @@ -162,6 +146,19 @@ python3Packages.buildPythonApplication rec { # != call('test hatch-test.py3.10', shell=True) "tests/cli/fmt/test_fmt.py" "tests/cli/test/test_test.py" + + # Dependency/versioning errors in the CLI tests, only seem to show up on Darwin + # https://github.com/pypa/hatch/issues/1893 + "tests/cli/env/test_create.py::test_sync_dependencies_pip" + "tests/cli/env/test_create.py::test_sync_dependencies_uv" + "tests/cli/project/test_metadata.py::TestBuildDependenciesMissing::test_no_compatibility_check_if_exists" + "tests/cli/run/test_run.py::TestScriptRunner::test_dependencies" + "tests/cli/run/test_run.py::TestScriptRunner::test_dependencies_from_tool_config" + "tests/cli/run/test_run.py::test_dependency_hash_checking" + "tests/cli/run/test_run.py::test_sync_dependencies" + "tests/cli/run/test_run.py::test_sync_project_dependencies" + "tests/cli/run/test_run.py::test_sync_project_features" + "tests/cli/version/test_version.py::test_no_compatibility_check_if_exists" ]; passthru = { diff --git a/pkgs/by-name/ir/iredis/package.nix b/pkgs/by-name/ir/iredis/package.nix index 13f16108d737..9a8845d9eded 100644 --- a/pkgs/by-name/ir/iredis/package.nix +++ b/pkgs/by-name/ir/iredis/package.nix @@ -45,18 +45,21 @@ python3.pkgs.buildPythonApplication rec { pytestCheckHook ]; - pytestFlagsArray = [ - # Fails on sandbox - "--ignore=tests/unittests/test_client.py" - "--deselect=tests/unittests/test_render_functions.py::test_render_unixtime_config_raw" - "--deselect=tests/unittests/test_render_functions.py::test_render_time" + enabledTestPaths = [ # Only execute unittests, because cli tests require a running Redis "tests/unittests/" + ]; + + disabledTestPaths = [ + # Fails on sandbox + "tests/unittests/test_client.py" + "tests/unittests/test_render_functions.py::test_render_unixtime_config_raw" + "tests/unittests/test_render_functions.py::test_render_time" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Flaky tests - "--deselect=tests/unittests/test_entry.py::test_command_shell_options_higher_priority" - "--deselect=tests/unittests/test_utils.py::test_timer" + "tests/unittests/test_entry.py::test_command_shell_options_higher_priority" + "tests/unittests/test_utils.py::test_timer" ]; pythonImportsCheck = [ "iredis" ]; diff --git a/pkgs/by-name/ke/kexec-tools/package.nix b/pkgs/by-name/ke/kexec-tools/package.nix index 40c35d974779..13d3f55f1f40 100644 --- a/pkgs/by-name/ke/kexec-tools/package.nix +++ b/pkgs/by-name/ke/kexec-tools/package.nix @@ -28,6 +28,11 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/void-linux/void-packages/6c1192cbf166698932030c2e3de71db1885a572d/srcpkgs/kexec-tools/patches/ppc64-elfv2.patch"; sha256 = "19wzfwb0azm932v0vhywv4221818qmlmvdfwpvvpfyw4hjsc2s1l"; }) + # Fix for static builds, will likely be removable on the next release + (fetchpatch { + url = "https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/patch/?id=daa29443819d3045338792b5ba950ed90e79d7a5"; + hash = "sha256-Nq5HIcLY6KSvvrs2sbfE/vovMbleJYElHW9AVRU5rSA="; + }) ] ++ lib.optional (stdenv.hostPlatform.useLLVM or false) ./fix-purgatory-llvm-libunwind.patch; diff --git a/pkgs/by-name/li/libavif/package.nix b/pkgs/by-name/li/libavif/package.nix index 1b4b46d12202..f406a9974792 100644 --- a/pkgs/by-name/li/libavif/package.nix +++ b/pkgs/by-name/li/libavif/package.nix @@ -97,7 +97,6 @@ stdenv.mkDerivation rec { GDK_PIXBUF_MODULEDIR=${gdkPixbufModuleDir} \ GDK_PIXBUF_MODULE_FILE=${gdkPixbufModuleFile} \ gdk-pixbuf-query-loaders --update-cache - '' # Cross-compiled gdk-pixbuf doesn't support thumbnailers + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' @@ -106,6 +105,11 @@ stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE ${gdkPixbufModuleFile} ''; + postFixup = '' + substituteInPlace $dev/lib/cmake/libavif/libavif-config.cmake \ + --replace-fail "_IMPORT_PREFIX \"$out\"" "_IMPORT_PREFIX \"$dev\"" + ''; + meta = { description = "C implementation of the AV1 Image File Format"; longDescription = '' diff --git a/pkgs/by-name/li/libcmis/package.nix b/pkgs/by-name/li/libcmis/package.nix index cabd55bd5f78..f0b39eeff446 100644 --- a/pkgs/by-name/li/libcmis/package.nix +++ b/pkgs/by-name/li/libcmis/package.nix @@ -46,6 +46,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-werror" "DOCBOOK2MAN=${docbook2x}/bin/docbook2man" + "--with-boost=${boost.dev}" ]; doCheck = true; diff --git a/pkgs/by-name/li/libde265/package.nix b/pkgs/by-name/li/libde265/package.nix index 286f8c37df2e..6749f8d7ccf2 100644 --- a/pkgs/by-name/li/libde265/package.nix +++ b/pkgs/by-name/li/libde265/package.nix @@ -15,14 +15,14 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "1.0.15"; + version = "1.0.16"; pname = "libde265"; src = fetchFromGitHub { owner = "strukturag"; repo = "libde265"; tag = "v${finalAttrs.version}"; - hash = "sha256-guiLM4RNe5O0qpeCoQUbs1Z7j0wp8iK9za2+6NIB8yY="; + hash = "sha256-4Y7tuVeDLoONU6/R/47QhGtzBiM9mtl4O++CN+KCUn4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libical/package.nix b/pkgs/by-name/li/libical/package.nix index 4bacbb14f70a..63b3fae8a7ec 100644 --- a/pkgs/by-name/li/libical/package.nix +++ b/pkgs/by-name/li/libical/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, pkgsBuildBuild, - pkgsBuildHost, cmake, glib, icu, @@ -15,7 +14,10 @@ python3, tzdata, fixDarwinDylibNames, - withIntrospection ? stdenv.hostPlatform.emulatorAvailable pkgsBuildHost, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + buildPackages, gobject-introspection, vala, }: @@ -78,8 +80,10 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DENABLE_GTK_DOC=False" + "-DLIBICAL_BUILD_EXAMPLES=False" "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" + "-DSTATIC_ONLY=${if stdenv.hostPlatform.isStatic then "True" else "False"}" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev pkgsBuildBuild.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" @@ -89,6 +93,8 @@ stdenv.mkDerivation (finalAttrs: { # Will appear in 3.1.0 # https://github.com/libical/libical/issues/350 ./respect-env-tzdir.patch + + ./static.patch ]; # Using install check so we do not have to manually set GI_TYPELIB_PATH diff --git a/pkgs/by-name/li/libical/static.patch b/pkgs/by-name/li/libical/static.patch new file mode 100644 index 000000000000..23678ecd50a6 --- /dev/null +++ b/pkgs/by-name/li/libical/static.patch @@ -0,0 +1,205 @@ +From 38fe473fb2c90960a64ddda5c4305d958d460e05 Mon Sep 17 00:00:00 2001 +From: Alyssa Ross +Date: Thu, 3 Jul 2025 19:52:23 +0200 +Subject: [PATCH] Link ICU components in the right order + +When static linking, a library that refers to symbols in another +library has to come before the latter library in the linker command +line. + +Before this change, I get linker errors like the following. With this +change, no error. + +FAILED: src/test/icalrecurtest +: && /nix/store/m8ggqv2dfrw6raz49ipnnab98cljx1k2-x86_64-unknown-linux-musl-gcc-wrapper-14.3.0/bin/x86_64-unknown-linux-musl-g++ -O2 -fvisibility=hidden -Weffc++ -Wno-deprecated -Wall -Wextra -Woverloaded-virtual -Winit-self -Wunused -Wno-div-by-zero -Wundef -Wpointer-arith -Wtype-limits -Wwrite-strings -Wreturn-type -Wunused-but-set-variable -Wlogical-op -Wsizeof-pointer-memaccess -Wreorder -Wformat-security -Wredundant-decls -Wunreachable-code -Wvarargs -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -D_GNU_SOURCE -Wall -Wextra -Wformat -Wformat=2 -Wconversion -Wsign-conversion -Wtrampolines -Wimplicit-fallthrough -Wbidi-chars=any -Wformat-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fstrict-flex-arrays=3 -fstack-clash-protection -fstack-protector-strong -fcf-protection=full -fno-delete-null-pointer-checks -fno-strict-overflow -fno-strict-aliasing -O3 -DNDEBUG -Wl,-z,nodlopen -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,relro -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,nodlopen -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,relro -Wl,--as-needed -Wl,--no-copy-dt-needed-entries src/test/CMakeFiles/icalrecurtest.dir/icalrecur_test.c.o -o src/test/icalrecurtest lib/libical.a lib/libicalss.a lib/libicalvcal.a lib/libical.a /nix> +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao): in function `ucal_getAvailable_76': +(.text.ucal_getAvailable_76+0x1): undefined reference to `uloc_getAvailable_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao): in function `ucal_countAvailable_76': +(.text.ucal_countAvailable_76+0x1): undefined reference to `uloc_countAvailable_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao): in function `ucal_getKeywordValuesForLocale_76': +(.text.ucal_getKeywordValuesForLocale_76+0xec): undefined reference to `ulist_createEmptyList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x132): undefined reference to `ulist_resetList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x260): undefined reference to `ulist_addItemEndList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x2e2): undefined reference to `ulist_containsString_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x2f6): undefined reference to `ulist_addItemEndList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x304): undefined reference to `ulist_deleteList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.ucal_getKeywordValuesForLocale_76+0x333): undefined reference to `ulist_deleteList_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao):(.data.rel.ro._ZL20defaultKeywordValues+0x10): undefined reference to `ulist_close_keyword_values_iterator_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao):(.data.rel.ro._ZL20defaultKeywordValues+0x18): undefined reference to `ulist_count_keyword_values_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao):(.data.rel.ro._ZL20defaultKeywordValues+0x28): undefined reference to `ulist_next_keyword_value_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(ucal.ao):(.data.rel.ro._ZL20defaultKeywordValues+0x30): undefined reference to `ulist_reset_keyword_values_iterator_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::SharedCalendar::~SharedCalendar()': +(.text._ZN6icu_7614SharedCalendarD2Ev+0x32): undefined reference to `icu_76::SharedObject::~SharedObject()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::BasicCalendarFactory::~BasicCalendarFactory()': +(.text._ZN6icu_7620BasicCalendarFactoryD2Ev+0xf): undefined reference to `icu_76::LocaleKeyFactory::~LocaleKeyFactory()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::DefaultCalendarFactory::~DefaultCalendarFactory()': +(.text._ZN6icu_7622DefaultCalendarFactoryD2Ev+0xf): undefined reference to `icu_76::ICUResourceBundleFactory::~ICUResourceBundleFactory()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::CalendarService::~CalendarService()': +(.text._ZN6icu_7615CalendarServiceD2Ev+0xf): undefined reference to `icu_76::ICULocaleService::~ICULocaleService()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::LocaleCacheKey::clone() const': +(.text._ZNK6icu_7614LocaleCacheKeyINS_14SharedCalendarEE5cloneEv[_ZNK6icu_7614LocaleCacheKeyINS_14SharedCalendarEE5cloneEv]+0x65): undefined reference to `icu_76::CacheKeyBase::~CacheKeyBase()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::CalendarService::isDefault() const': +(.text._ZNK6icu_7615CalendarService9isDefaultEv[_ZNK6icu_7615CalendarService9isDefaultEv]+0x5): undefined reference to `icu_76::ICUService::countFactories() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::initCalendarService(UErrorCode&) [clone .cold]': +(.text.unlikely._ZN6icu_76L19initCalendarServiceER10UErrorCode+0x16): undefined reference to `icu_76::ICULocaleService::~ICULocaleService()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::initCalendarService(UErrorCode&)': +(.text._ZN6icu_76L19initCalendarServiceER10UErrorCode+0xa9): undefined reference to `icu_76::ICULocaleService::ICULocaleService(icu_76::UnicodeString const&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_76L19initCalendarServiceER10UErrorCode+0xe1): undefined reference to `icu_76::ICUResourceBundleFactory::ICUResourceBundleFactory()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_76L19initCalendarServiceER10UErrorCode+0xfe): undefined reference to `icu_76::ICUService::registerFactory(icu_76::ICUServiceFactory*, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_76L19initCalendarServiceER10UErrorCode+0x12c): undefined reference to `icu_76::LocaleKeyFactory::LocaleKeyFactory(int)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::getAvailableLocales(int&)': +(.text._ZN6icu_768Calendar19getAvailableLocalesERi+0x1): undefined reference to `icu_76::Locale::getAvailableLocales(int&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::getLocale(ULocDataLocaleType, UErrorCode&) const': +(.text._ZNK6icu_768Calendar9getLocaleE18ULocDataLocaleTypeR10UErrorCode+0x34): undefined reference to `icu_76::LocaleBased::getLocale(ULocDataLocaleType, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::getLocaleID(ULocDataLocaleType, UErrorCode&) const': +(.text._ZNK6icu_768Calendar11getLocaleIDE18ULocDataLocaleTypeR10UErrorCode+0x30): undefined reference to `icu_76::LocaleBased::getLocaleID(ULocDataLocaleType, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::LocaleCacheKey::~LocaleCacheKey()': +(.text._ZN6icu_7614LocaleCacheKeyINS_14SharedCalendarEED2Ev[_ZN6icu_7614LocaleCacheKeyINS_14SharedCalendarEED5Ev]+0x3b): undefined reference to `icu_76::CacheKeyBase::~CacheKeyBase()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::setWeekData(icu_76::Locale const&, char const*, UErrorCode&)': +(.text._ZN6icu_768Calendar11setWeekDataERKNS_6LocaleEPKcR10UErrorCode+0x31e): undefined reference to `icu_76::LocaleBased::setLocaleIDs(char const*, char const*)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::makeInstance(icu_76::Locale const&, UErrorCode&)': +(.text._ZN6icu_768Calendar12makeInstanceERKNS_6LocaleER10UErrorCode+0xd2): undefined reference to `icu_76::LocaleUtility::initLocaleFromName(icu_76::UnicodeString const&, icu_76::Locale&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768Calendar12makeInstanceERKNS_6LocaleER10UErrorCode+0x112): undefined reference to `icu_76::ICULocaleService::get(icu_76::Locale const&, int, icu_76::Locale*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768Calendar12makeInstanceERKNS_6LocaleER10UErrorCode+0x1d4): undefined reference to `icu_76::ICULocaleService::get(icu_76::Locale const&, int, icu_76::Locale*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::LocaleCacheKey::createObject(void const*, UErrorCode&) const': +(.text._ZNK6icu_7614LocaleCacheKeyINS_14SharedCalendarEE12createObjectEPKvR10UErrorCode+0x69): undefined reference to `icu_76::SharedObject::addRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::DefaultCalendarFactory::create(icu_76::ICUServiceKey const&, icu_76::ICUService const*, UErrorCode&) const': +(.text._ZNK6icu_7622DefaultCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode[_ZNK6icu_7622DefaultCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode]+0x31): undefined reference to `typeinfo for icu_76::LocaleKey' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7622DefaultCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode[_ZNK6icu_7622DefaultCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode]+0x38): undefined reference to `typeinfo for icu_76::ICUServiceKey' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::BasicCalendarFactory::create(icu_76::ICUServiceKey const&, icu_76::ICUService const*, UErrorCode&) const': +(.text._ZNK6icu_7620BasicCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode[_ZNK6icu_7620BasicCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode]+0x33): undefined reference to `typeinfo for icu_76::LocaleKey' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7620BasicCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode[_ZNK6icu_7620BasicCalendarFactory6createERKNS_13ICUServiceKeyEPKNS_10ICUServiceER10UErrorCode]+0x3a): undefined reference to `typeinfo for icu_76::ICUServiceKey' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::LocaleCacheKey::~LocaleCacheKey()': +(.text._ZN6icu_7614LocaleCacheKeyINS_14SharedCalendarEED0Ev[_ZN6icu_7614LocaleCacheKeyINS_14SharedCalendarEED5Ev]+0x36): undefined reference to `icu_76::CacheKeyBase::~CacheKeyBase()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `void icu_76::UnifiedCache::getByLocale(icu_76::Locale const&, icu_76::SharedCalendar const*&, UErrorCode&)': +(.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x2e): undefined reference to `icu_76::UnifiedCache::getInstance(UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0xdf): undefined reference to `icu_76::CacheKeyBase::~CacheKeyBase()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x123): undefined reference to `icu_76::UnifiedCache::_get(icu_76::CacheKeyBase const&, icu_76::SharedObject const*&, void const*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x141): undefined reference to `icu_76::SharedObject::removeRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x186): undefined reference to `icu_76::SharedObject::removeRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x1a5): undefined reference to `icu_76::SharedObject::addRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode[_ZN6icu_7612UnifiedCache11getByLocaleINS_14SharedCalendarEEEvRKNS_6LocaleERPKT_R10UErrorCode]+0x20c): undefined reference to `icu_76::CacheKeyBase::~CacheKeyBase()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::createInstance(icu_76::TimeZone*, icu_76::Locale const&, UErrorCode&)': +(.text._ZN6icu_768Calendar14createInstanceEPNS_8TimeZoneERKNS_6LocaleER10UErrorCode+0x56): undefined reference to `icu_76::SharedObject::removeRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao): in function `icu_76::Calendar::getCalendarTypeFromLocale(icu_76::Locale const&, char*, int, UErrorCode&)': +(.text._ZN6icu_768Calendar25getCalendarTypeFromLocaleERKNS_6LocaleEPciR10UErrorCode+0x69): undefined reference to `icu_76::SharedObject::removeRef() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTIN6icu_7614SharedCalendarE[_ZTIN6icu_7614SharedCalendarE]+0x10): undefined reference to `typeinfo for icu_76::SharedObject' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTIN6icu_768CacheKeyINS_14SharedCalendarEEE[_ZTIN6icu_768CacheKeyINS_14SharedCalendarEEE]+0x10): undefined reference to `typeinfo for icu_76::CacheKeyBase' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTIN6icu_7620BasicCalendarFactoryE[_ZTIN6icu_7620BasicCalendarFactoryE]+0x10): undefined reference to `typeinfo for icu_76::LocaleKeyFactory' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTIN6icu_7622DefaultCalendarFactoryE[_ZTIN6icu_7622DefaultCalendarFactoryE]+0x10): undefined reference to `typeinfo for icu_76::ICUResourceBundleFactory' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTIN6icu_7615CalendarServiceE[_ZTIN6icu_7615CalendarServiceE]+0x10): undefined reference to `typeinfo for icu_76::ICULocaleService' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7620BasicCalendarFactoryE[_ZTVN6icu_7620BasicCalendarFactoryE]+0x20): undefined reference to `icu_76::LocaleKeyFactory::getDynamicClassID() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7620BasicCalendarFactoryE[_ZTVN6icu_7620BasicCalendarFactoryE]+0x38): undefined reference to `icu_76::LocaleKeyFactory::getDisplayName(icu_76::UnicodeString const&, icu_76::Locale const&, icu_76::UnicodeString&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7620BasicCalendarFactoryE[_ZTVN6icu_7620BasicCalendarFactoryE]+0x40): undefined reference to `icu_76::LocaleKeyFactory::handlesKey(icu_76::ICUServiceKey const&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7620BasicCalendarFactoryE[_ZTVN6icu_7620BasicCalendarFactoryE]+0x48): undefined reference to `icu_76::LocaleKeyFactory::handleCreate(icu_76::Locale const&, int, icu_76::ICUService const*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7620BasicCalendarFactoryE[_ZTVN6icu_7620BasicCalendarFactoryE]+0x50): undefined reference to `icu_76::LocaleKeyFactory::getSupportedIDs(UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x20): undefined reference to `icu_76::ICUResourceBundleFactory::getDynamicClassID() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x30): undefined reference to `icu_76::LocaleKeyFactory::updateVisibleIDs(icu_76::Hashtable&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x38): undefined reference to `icu_76::LocaleKeyFactory::getDisplayName(icu_76::UnicodeString const&, icu_76::Locale const&, icu_76::UnicodeString&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x40): undefined reference to `icu_76::LocaleKeyFactory::handlesKey(icu_76::ICUServiceKey const&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x48): undefined reference to `icu_76::ICUResourceBundleFactory::handleCreate(icu_76::Locale const&, int, icu_76::ICUService const*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7622DefaultCalendarFactoryE[_ZTVN6icu_7622DefaultCalendarFactoryE]+0x50): undefined reference to `icu_76::ICUResourceBundleFactory::getSupportedIDs(UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x20): undefined reference to `icu_76::ICUNotifier::addListener(icu_76::EventListener const*, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x28): undefined reference to `icu_76::ICUNotifier::removeListener(icu_76::EventListener const*, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x30): undefined reference to `icu_76::ICUNotifier::notifyChanged()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x38): undefined reference to `icu_76::ICUService::acceptsListener(icu_76::EventListener const&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x40): undefined reference to `icu_76::ICUService::notifyListener(icu_76::EventListener&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x48): undefined reference to `icu_76::ICUService::getKey(icu_76::ICUServiceKey&, icu_76::UnicodeString*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x50): undefined reference to `icu_76::ICULocaleService::registerInstance(icu_76::UObject*, icu_76::UnicodeString const&, signed char, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x58): undefined reference to `icu_76::ICUService::registerFactory(icu_76::ICUServiceFactory*, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x60): undefined reference to `icu_76::ICUService::unregister(void const*, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x68): undefined reference to `icu_76::ICUService::reset()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x78): undefined reference to `icu_76::ICULocaleService::createKey(icu_76::UnicodeString const*, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x88): undefined reference to `icu_76::ICUService::createSimpleFactory(icu_76::UObject*, icu_76::UnicodeString const&, signed char, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0x90): undefined reference to `icu_76::ICUService::reInitializeFactories()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xa0): undefined reference to `icu_76::ICUService::clearCaches()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xa8): undefined reference to `icu_76::ICULocaleService::registerInstance(icu_76::UObject*, icu_76::Locale const&, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xb0): undefined reference to `icu_76::ICULocaleService::registerInstance(icu_76::UObject*, icu_76::Locale const&, int, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xb8): undefined reference to `icu_76::ICULocaleService::registerInstance(icu_76::UObject*, icu_76::Locale const&, int, int, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xc0): undefined reference to `icu_76::ICULocaleService::getAvailableLocales() const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(calendar.ao):(.data.rel.ro._ZTVN6icu_7615CalendarServiceE[_ZTVN6icu_7615CalendarServiceE]+0xc8): undefined reference to `icu_76::ICULocaleService::createKey(icu_76::UnicodeString const*, int, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(timezone.ao): in function `icu_76::TimeZone::parseCustomID(icu_76::UnicodeString const&, int&, int&, int&, int&)': +(.text._ZN6icu_768TimeZone13parseCustomIDERKNS_13UnicodeStringERiS4_S4_S4_+0x6f): undefined reference to `u_strncasecmp_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TimeZone13parseCustomIDERKNS_13UnicodeStringERiS4_S4_S4_+0xf3): undefined reference to `icu_76::ICU_Utility::parseNumber(icu_76::UnicodeString const&, int&, signed char)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TimeZone13parseCustomIDERKNS_13UnicodeStringERiS4_S4_S4_+0x168): undefined reference to `icu_76::ICU_Utility::parseNumber(icu_76::UnicodeString const&, int&, signed char)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TimeZone13parseCustomIDERKNS_13UnicodeStringERiS4_S4_S4_+0x1cd): undefined reference to `icu_76::ICU_Utility::parseNumber(icu_76::UnicodeString const&, int&, signed char)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseSingleLocalizedDigit(icu_76::UnicodeString const&, int, int&) const': +(.text._ZNK6icu_7614TimeZoneFormat25parseSingleLocalizedDigitERKNS_13UnicodeStringEiRi+0x56): undefined reference to `u_charDigitValue_76' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetFieldsWithPattern(icu_76::UnicodeString const&, int, icu_76::UVector*, signed char, int&, int&, int&) const': +(.text._ZNK6icu_7614TimeZoneFormat28parseOffsetFieldsWithPatternERKNS_13UnicodeStringEiPNS_7UVectorEaRiS6_S6_+0x116): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetLocalizedGMTPattern(icu_76::UnicodeString const&, int, signed char, int&) const': +(.text._ZNK6icu_7614TimeZoneFormat30parseOffsetLocalizedGMTPatternERKNS_13UnicodeStringEiaRi+0x13e): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7614TimeZoneFormat30parseOffsetLocalizedGMTPatternERKNS_13UnicodeStringEiaRi+0x1a9): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetDefaultLocalizedGMT(icu_76::UnicodeString const&, int, int&) const': +(.text._ZNK6icu_7614TimeZoneFormat30parseOffsetDefaultLocalizedGMTERKNS_13UnicodeStringEiRi+0x65): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetLocalizedGMT(icu_76::UnicodeString const&, icu_76::ParsePosition&, signed char, signed char*) const': +(.text._ZNK6icu_7614TimeZoneFormat23parseOffsetLocalizedGMTERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x121): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao):(.text._ZNK6icu_7614TimeZoneFormat23parseOffsetLocalizedGMTERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x1bb): more undefined references to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' follow +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetISO8601(icu_76::UnicodeString const&, icu_76::ParsePosition&, signed char, signed char*) const [clone .cold]': +(.text.unlikely._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x4): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.unlikely._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0xc): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parseOffsetISO8601(icu_76::UnicodeString const&, icu_76::ParsePosition&, signed char, signed char*) const': +(.text._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0xaf): undefined reference to `vtable for icu_76::ParsePosition' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x120): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x1c4): undefined reference to `vtable for icu_76::ParsePosition' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7614TimeZoneFormat18parseOffsetISO8601ERKNS_13UnicodeStringERNS_13ParsePositionEaPa+0x207): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parse(UTimeZoneFormatStyle, icu_76::UnicodeString const&, icu_76::ParsePosition&, int, UTimeZoneFormatTimeType*) const [clone .cold]': +(.text.unlikely._ZNK6icu_7614TimeZoneFormat5parseE20UTimeZoneFormatStyleRKNS_13UnicodeStringERNS_13ParsePositionEiP23UTimeZoneFormatTimeType+0x2c): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzfmt.ao): in function `icu_76::TimeZoneFormat::parse(UTimeZoneFormatStyle, icu_76::UnicodeString const&, icu_76::ParsePosition&, int, UTimeZoneFormatTimeType*) const': +(.text._ZNK6icu_7614TimeZoneFormat5parseE20UTimeZoneFormatStyleRKNS_13UnicodeStringERNS_13ParsePositionEiP23UTimeZoneFormatTimeType+0x99): undefined reference to `vtable for icu_76::ParsePosition' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_7614TimeZoneFormat5parseE20UTimeZoneFormatStyleRKNS_13UnicodeStringERNS_13ParsePositionEiP23UTimeZoneFormatTimeType+0x2c6): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::getGenericLocationName(icu_76::UnicodeString const&)': +(.text._ZN6icu_768TZGNCore22getGenericLocationNameERKNS_13UnicodeStringE+0x1ea): undefined reference to `icu_76::SimpleFormatter::format(icu_76::UnicodeString const&, icu_76::UnicodeString&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TZGNCore22getGenericLocationNameERKNS_13UnicodeStringE+0x342): undefined reference to `icu_76::SimpleFormatter::format(icu_76::UnicodeString const&, icu_76::UnicodeString&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::getPartialLocationName(icu_76::UnicodeString const&, icu_76::UnicodeString const&, signed char, icu_76::UnicodeString const&)': +(.text._ZN6icu_768TZGNCore22getPartialLocationNameERKNS_13UnicodeStringES3_aS3_+0x288): undefined reference to `icu_76::SimpleFormatter::format(icu_76::UnicodeString const&, icu_76::UnicodeString const&, icu_76::UnicodeString&, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::initialize(icu_76::Locale const&, UErrorCode&)': +(.text._ZN6icu_768TZGNCore10initializeERKNS_6LocaleER10UErrorCode+0x172): undefined reference to `icu_76::SimpleFormatter::applyPatternMinMaxArguments(icu_76::UnicodeString const&, int, int, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TZGNCore10initializeERKNS_6LocaleER10UErrorCode+0x18f): undefined reference to `icu_76::SimpleFormatter::applyPatternMinMaxArguments(icu_76::UnicodeString const&, int, int, UErrorCode&)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TZGNCore10initializeERKNS_6LocaleER10UErrorCode+0x1a5): undefined reference to `icu_76::LocaleDisplayNames::createInstance(icu_76::Locale const&, UDialectHandling)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::TZGNCore(icu_76::Locale const&, UErrorCode&) [clone .cold]': +(.text.unlikely._ZN6icu_768TZGNCoreC2ERKNS_6LocaleER10UErrorCode+0x21): undefined reference to `icu_76::SimpleFormatter::~SimpleFormatter()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text.unlikely._ZN6icu_768TZGNCoreC2ERKNS_6LocaleER10UErrorCode+0x2d): undefined reference to `icu_76::SimpleFormatter::~SimpleFormatter()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::~TZGNCore()': +(.text._ZN6icu_768TZGNCoreD2Ev+0x48): undefined reference to `icu_76::SimpleFormatter::~SimpleFormatter()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZN6icu_768TZGNCoreD2Ev+0x54): undefined reference to `icu_76::SimpleFormatter::~SimpleFormatter()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tzgnames.ao): in function `icu_76::TZGNCore::formatGenericNonLocationName(icu_76::TimeZone const&, UTimeZoneGenericNameType, double, icu_76::UnicodeString&) const': +(.text._ZNK6icu_768TZGNCore28formatGenericNonLocationNameERKNS_8TimeZoneE24UTimeZoneGenericNameTypedRNS_13UnicodeStringE+0x692): undefined reference to `icu_76::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tznames_impl.ao): in function `icu_76::TextTrieMap::search(icu_76::CharacterNode*, icu_76::UnicodeString const&, int, int, icu_76::TextTrieMapSearchResultHandler*, UErrorCode&) const': +(.text._ZNK6icu_7611TextTrieMap6searchEPNS_13CharacterNodeERKNS_13UnicodeStringEiiPNS_30TextTrieMapSearchResultHandlerER10UErrorCode+0x153): undefined reference to `icu_76::UnicodeString::foldCase(unsigned int)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(tznames_impl.ao): in function `icu_76::TextTrieMap::putImpl(icu_76::UnicodeString const&, void*, UErrorCode&)': +(.text._ZN6icu_7611TextTrieMap7putImplERKNS_13UnicodeStringEPvR10UErrorCode+0x135): undefined reference to `icu_76::UnicodeString::foldCase(unsigned int)' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(format.ao): in function `icu_76::Format::parseObject(icu_76::UnicodeString const&, icu_76::Formattable&, UErrorCode&) const [clone .cold]': +(.text.unlikely._ZNK6icu_766Format11parseObjectERKNS_13UnicodeStringERNS_11FormattableER10UErrorCode+0x4): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(format.ao): in function `icu_76::Format::parseObject(icu_76::UnicodeString const&, icu_76::Formattable&, UErrorCode&) const': +(.text._ZNK6icu_766Format11parseObjectERKNS_13UnicodeStringERNS_11FormattableER10UErrorCode+0x25): undefined reference to `vtable for icu_76::ParsePosition' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: (.text._ZNK6icu_766Format11parseObjectERKNS_13UnicodeStringERNS_11FormattableER10UErrorCode+0x57): undefined reference to `icu_76::ParsePosition::~ParsePosition()' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(format.ao): in function `icu_76::Format::getLocale(ULocDataLocaleType, UErrorCode&) const': +(.text._ZNK6icu_766Format9getLocaleE18ULocDataLocaleTypeR10UErrorCode+0x31): undefined reference to `icu_76::LocaleBased::getLocale(ULocDataLocaleType, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(format.ao): in function `icu_76::Format::getLocaleID(ULocDataLocaleType, UErrorCode&) const': +(.text._ZNK6icu_766Format11getLocaleIDE18ULocDataLocaleTypeR10UErrorCode+0x2d): undefined reference to `icu_76::LocaleBased::getLocaleID(ULocDataLocaleType, UErrorCode&) const' +/nix/store/s417mccczz3vscmsb5g9h7x040gvinfy-x86_64-unknown-linux-musl-binutils-2.44/bin/x86_64-unknown-linux-musl-ld: /nix/store/iiw1j4i5p4hlf78qd9cgwi3d4l9z4n63-icu4c-static-x86_64-unknown-linux-musl-76.1/lib/libicui18n.a(format.ao): in function `icu_76::Format::setLocaleIDs(char const*, char const*)': +(.text._ZN6icu_766Format12setLocaleIDsEPKcS2_+0x2d): undefined reference to `icu_76::LocaleBased::setLocaleIDs(char const*, char const*)' +collect2: error: ld returned 1 exit status + +Link: https://github.com/libical/libical/pull/930 +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aad02e1e..7dcf516c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -211,7 +211,7 @@ if(NOT DEFINED ENV{ICU_ROOT} AND APPLE) + #Use the homebrew version. MacOS provided ICU doesn't provide development files + set(ICU_ROOT "/usr/local/opt/icu4c") + endif() +-find_package(ICU COMPONENTS uc i18n data) ++find_package(ICU COMPONENTS i18n uc data) + set_package_properties(ICU PROPERTIES + TYPE RECOMMENDED + PURPOSE "For RSCALE (RFC7529) support" +-- +2.49.0 + diff --git a/pkgs/by-name/li/libixion/package.nix b/pkgs/by-name/li/libixion/package.nix index d921b8fe8653..6f47fae8e763 100644 --- a/pkgs/by-name/li/libixion/package.nix +++ b/pkgs/by-name/li/libixion/package.nix @@ -32,6 +32,10 @@ stdenv.mkDerivation rec { python3 ]; + configureFlags = [ + "--with-boost=${boost.dev}" + ]; + meta = with lib; { description = "General purpose formula parser, interpreter, formula cell dependency tracker and spreadsheet document model backend all in one package"; homepage = "https://gitlab.com/ixion/ixion"; diff --git a/pkgs/by-name/li/libogg/package.nix b/pkgs/by-name/li/libogg/package.nix index 14ad2231d3bf..bdd0ba621967 100644 --- a/pkgs/by-name/li/libogg/package.nix +++ b/pkgs/by-name/li/libogg/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "libogg"; - version = "1.3.5"; + version = "1.3.6"; src = fetchurl { url = "http://downloads.xiph.org/releases/ogg/libogg-${finalAttrs.version}.tar.xz"; - sha256 = "01b7050bghdvbxvw0gzv588fn4a27zh42ljpwzm4vrf8dziipnf4"; + hash = "sha256-XIJTQo4YGEDNINQfPKFlV6nMBLrUo9BMzoSAhnf6EGE="; }; outputs = [ diff --git a/pkgs/by-name/li/liborcus/package.nix b/pkgs/by-name/li/liborcus/package.nix index e354a4c514ce..3285bc1a3248 100644 --- a/pkgs/by-name/li/liborcus/package.nix +++ b/pkgs/by-name/li/liborcus/package.nix @@ -36,6 +36,10 @@ stdenv.mkDerivation rec { zlib ]; + configureFlags = [ + "--with-boost=${boost.dev}" + ]; + preCheck = '' patchShebangs test/python '' diff --git a/pkgs/by-name/li/libproxy/hardcode-gsettings.patch b/pkgs/by-name/li/libproxy/hardcode-gsettings.patch index 6f4b3ec0e031..f3c8f3c61e8b 100644 --- a/pkgs/by-name/li/libproxy/hardcode-gsettings.patch +++ b/pkgs/by-name/li/libproxy/hardcode-gsettings.patch @@ -1,8 +1,8 @@ diff --git a/src/backend/plugins/config-gnome/config-gnome.c b/src/backend/plugins/config-gnome/config-gnome.c -index 52e812e..a1141c5 100644 +index 6d9bc65..7566c6d 100644 --- a/src/backend/plugins/config-gnome/config-gnome.c +++ b/src/backend/plugins/config-gnome/config-gnome.c -@@ -83,11 +83,60 @@ px_config_gnome_init (PxConfigGnome *self) +@@ -85,11 +85,60 @@ px_config_gnome_init (PxConfigGnome *self) if (!self->available) return; @@ -69,7 +69,7 @@ index 52e812e..a1141c5 100644 static void diff --git a/tests/config-gnome-test.c b/tests/config-gnome-test.c -index 677a3e9..a28d277 100644 +index 315ef1b..1ede670 100644 --- a/tests/config-gnome-test.c +++ b/tests/config-gnome-test.c @@ -60,11 +60,60 @@ static void diff --git a/pkgs/by-name/li/libproxy/package.nix b/pkgs/by-name/li/libproxy/package.nix index 8118ea54d198..f9a6dda577d2 100644 --- a/pkgs/by-name/li/libproxy/package.nix +++ b/pkgs/by-name/li/libproxy/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libproxy"; - version = "0.5.9"; + version = "0.5.10"; outputs = [ "out" @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libproxy"; repo = "libproxy"; rev = finalAttrs.version; - hash = "sha256-Z70TjLk5zulyYMAK+uMDhpsdvLa6m25pY8jahUA6ASE="; + hash = "sha256-40GcyH4Oe9xQh9kXe8HohigtCGmIgqFmSV6/j9yolV4="; }; patches = [ diff --git a/pkgs/by-name/li/libwebp/package.nix b/pkgs/by-name/li/libwebp/package.nix index c47827091eba..9eb826d4061d 100644 --- a/pkgs/by-name/li/libwebp/package.nix +++ b/pkgs/by-name/li/libwebp/package.nix @@ -33,13 +33,13 @@ stdenv.mkDerivation rec { pname = "libwebp"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "webmproject"; repo = "libwebp"; rev = "v${version}"; - hash = "sha256-DMHP7DVWXrTsqU0m9tc783E6dNO0EQoSXZTn5kZOtTg="; + hash = "sha256-7i4fGBTsTjAkBzCjVqXqX4n22j6dLgF/0mz4ajNA45U="; }; cmakeFlags = [ diff --git a/pkgs/by-name/li/libxkbcommon_8/package.nix b/pkgs/by-name/li/libxkbcommon_8/package.nix index c776aa0ab9fb..399194e391ff 100644 --- a/pkgs/by-name/li/libxkbcommon_8/package.nix +++ b/pkgs/by-name/li/libxkbcommon_8/package.nix @@ -51,9 +51,10 @@ stdenv.mkDerivation (finalAttrs: { pkg-config bison doxygen - xorg.xvfb ] + ++ lib.optional stdenv.isLinux xorg.xvfb ++ lib.optional withWaylandTools wayland-scanner; + buildInputs = [ xkeyboard_config libxcb @@ -73,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: { "-Denable-wayland=${lib.boolToString withWaylandTools}" ]; - doCheck = true; + doCheck = stdenv.isLinux; # TODO: disable just a part of the tests preCheck = '' patchShebangs ../test/ ''; diff --git a/pkgs/by-name/ll/llhttp/package.nix b/pkgs/by-name/ll/llhttp/package.nix index e1e34082491f..aea923e4c1b0 100644 --- a/pkgs/by-name/ll/llhttp/package.nix +++ b/pkgs/by-name/ll/llhttp/package.nix @@ -29,7 +29,8 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_STATIC_LIBS" stdenv.hostPlatform.isStatic) ]; passthru.updateScript = nix-update-script { diff --git a/pkgs/by-name/md/mdns-scanner/package.nix b/pkgs/by-name/md/mdns-scanner/package.nix index 8ca3fe5df6c5..655f96535fcc 100644 --- a/pkgs/by-name/md/mdns-scanner/package.nix +++ b/pkgs/by-name/md/mdns-scanner/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mdns-scanner"; - version = "0.16.1"; + version = "0.17.1"; src = fetchFromGitHub { owner = "CramBL"; repo = "mdns-scanner"; tag = "v${finalAttrs.version}"; - hash = "sha256-8YOiJ2rnLQvVLkoMBDUw/DPMMRMrQs9fWnZ/YlCpui0="; + hash = "sha256-+f7V2J02flFMuDL9BRKa0UjMgsm+WrNQIWhuc17NXes="; }; - cargoHash = "sha256-KiuIYuQO7BYhEl0AAzpt4PQxQcdxsSwv/Asj4DsEUUE="; + cargoHash = "sha256-dsOLeI2N2eR9IH0R1ldbQ8UyIjbJJHgDD/9VrK0dpqY="; meta = { homepage = "https://github.com/CramBL/mdns-scanner"; diff --git a/pkgs/by-name/mi/migra/package.nix b/pkgs/by-name/mi/migra/package.nix index 73ad73000298..0829c79e0493 100644 --- a/pkgs/by-name/mi/migra/package.nix +++ b/pkgs/by-name/mi/migra/package.nix @@ -44,9 +44,12 @@ python3.pkgs.buildPythonApplication rec { "test_singleschema" ]; - pytestFlagsArray = [ + pytestFlags = [ "-x" "-svv" + ]; + + enabledTestPaths = [ "tests" ]; diff --git a/pkgs/by-name/na/nasm/package.nix b/pkgs/by-name/na/nasm/package.nix index bfc8231f1926..03b359c9c9a7 100644 --- a/pkgs/by-name/na/nasm/package.nix +++ b/pkgs/by-name/na/nasm/package.nix @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ pSub ]; + mainProgram = "nasm"; license = licenses.bsd2; }; } diff --git a/pkgs/by-name/ne/neon/package.nix b/pkgs/by-name/ne/neon/package.nix index 6e1a356d3543..62f3da0cc050 100644 --- a/pkgs/by-name/ne/neon/package.nix +++ b/pkgs/by-name/ne/neon/package.nix @@ -22,12 +22,12 @@ let in stdenv.mkDerivation rec { - version = "0.32.5"; + version = "0.34.2"; pname = "neon"; src = fetchurl { url = "https://notroj.github.io/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-SHLhL4Alct7dSwL4cAZYFLLVFB99va9wju2rgmtRpYo="; + sha256 = "sha256-+Yzjx0MAvgXt3wXcy9ykmLFNQMKJ93MZXdGlWc/6WFY="; }; patches = optionals stdenv.hostPlatform.isDarwin [ ./darwin-fix-configure.patch ]; diff --git a/pkgs/by-name/ni/nixos-render-docs/package.nix b/pkgs/by-name/ni/nixos-render-docs/package.nix index 2b417bf86383..21644f6c4b4c 100644 --- a/pkgs/by-name/ni/nixos-render-docs/package.nix +++ b/pkgs/by-name/ni/nixos-render-docs/package.nix @@ -51,8 +51,11 @@ python.pkgs.buildPythonApplication rec { mdit-py-plugins ]; - pytestFlagsArray = [ + pytestFlags = [ "-vvrP" + ]; + + enabledTestPaths = [ "tests/" ]; diff --git a/pkgs/by-name/ns/nspr/package.nix b/pkgs/by-name/ns/nspr/package.nix index 2a313799da78..7e24a62ccf39 100644 --- a/pkgs/by-name/ns/nspr/package.nix +++ b/pkgs/by-name/ns/nspr/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "nspr"; - version = "4.36"; + version = "4.37"; src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - hash = "sha256-Vd7DF/FAHNLl26hE00C5MKt1R/gYF5pAArzmLm8caJU="; + hash = "sha256-X5NE7Q4xhVvTj4izPJ2auU9wzlR+8yE+SI0VIPYYQPo="; }; patches = [ diff --git a/pkgs/by-name/pd/pdm/package.nix b/pkgs/by-name/pd/pdm/package.nix index 768b4311fca7..7bddb9c35873 100644 --- a/pkgs/by-name/pd/pdm/package.nix +++ b/pkgs/by-name/pd/pdm/package.nix @@ -101,7 +101,7 @@ python.pkgs.buildPythonApplication rec { pytest-httpserver ]; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; preCheck = '' export HOME=$TMPDIR diff --git a/pkgs/by-name/pd/pdns-recursor/package.nix b/pkgs/by-name/pd/pdns-recursor/package.nix index 125c5110c118..0461163607c7 100644 --- a/pkgs/by-name/pd/pdns-recursor/package.nix +++ b/pkgs/by-name/pd/pdns-recursor/package.nix @@ -57,6 +57,7 @@ stdenv.mkDerivation (finalAttrs: { "--enable-reproducible" "--enable-systemd" "--enable-dns-over-tls" + "--with-boost=${boost.dev}" "sysconfdir=/etc/pdns-recursor" ]; diff --git a/pkgs/by-name/pd/pdns/package.nix b/pkgs/by-name/pd/pdns/package.nix index 4fd873d03374..96d44f53e6dc 100644 --- a/pkgs/by-name/pd/pdns/package.nix +++ b/pkgs/by-name/pd/pdns/package.nix @@ -82,6 +82,7 @@ stdenv.mkDerivation (finalAttrs: { "tinydns" ] )) + "--with-boost=${boost.dev}" "sysconfdir=/etc/pdns" ]; diff --git a/pkgs/by-name/po/poetry/unwrapped.nix b/pkgs/by-name/po/poetry/unwrapped.nix index f2f0f1a70e48..803fecb30c9c 100644 --- a/pkgs/by-name/po/poetry/unwrapped.nix +++ b/pkgs/by-name/po/poetry/unwrapped.nix @@ -151,8 +151,8 @@ buildPythonPackage rec { "test_find_all" ]; - pytestFlagsArray = [ - "-m 'not network'" + disabledTestMarks = [ + "network" ]; # Allow for package to use pep420's native namespaces diff --git a/pkgs/by-name/ps/psqlodbc/package.nix b/pkgs/by-name/ps/psqlodbc/package.nix index 40830628f11f..526b5e9874fe 100644 --- a/pkgs/by-name/ps/psqlodbc/package.nix +++ b/pkgs/by-name/ps/psqlodbc/package.nix @@ -21,8 +21,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "postgresql-interfaces"; repo = "psqlodbc"; - tag = "REL-17_00_0002"; - hash = "sha256-zCjoX+Ew8sS5TWkFSgoqUN5ukEF38kq+MdfgCQQGv9w="; + tag = "REL-17_00_0006"; + hash = "sha256-iu1PWkfOyWtMmy7/8W+acu8v+e8nUPkCIHtVNZ8HzRg="; }; buildInputs = [ diff --git a/pkgs/by-name/ra/rapidjson/package.nix b/pkgs/by-name/ra/rapidjson/package.nix index 887beaa63051..b2cea36a49f1 100644 --- a/pkgs/by-name/ra/rapidjson/package.nix +++ b/pkgs/by-name/ra/rapidjson/package.nix @@ -6,12 +6,13 @@ doxygen, graphviz, gtest, + unstableGitUpdater, valgrind, }: stdenv.mkDerivation (finalAttrs: { pname = "rapidjson"; - version = "unstable-2024-04-09"; + version = "1.1.0-unstable-2025-02-05"; outputs = [ "out" @@ -21,8 +22,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "Tencent"; repo = "rapidjson"; - rev = "ab1842a2dae061284c0a62dca1cc6d5e7e37e346"; - hash = "sha256-kAGVJfDHEUV2qNR1LpnWq3XKBJy4hD3Swh6LX5shJpM="; + rev = "24b5e7a8b27f42fa16b96fc70aade9106cf7102f"; + hash = "sha256-oHHLYRDMb7Y/k0CwsdsxPC5lglr2IChQi0AiOMiFn78="; }; patches = [ @@ -74,6 +75,12 @@ stdenv.mkDerivation (finalAttrs: { valgrind ]; + passthru = { + updateScript = unstableGitUpdater { + tagPrefix = "v"; + }; + }; + meta = { description = "Fast JSON parser/generator for C++ with both SAX/DOM style API"; homepage = "http://rapidjson.org/"; diff --git a/pkgs/by-name/ro/rockcraft/package.nix b/pkgs/by-name/ro/rockcraft/package.nix index d6b3f1950dff..e252d33fcd45 100644 --- a/pkgs/by-name/ro/rockcraft/package.nix +++ b/pkgs/by-name/ro/rockcraft/package.nix @@ -52,7 +52,7 @@ python3Packages.buildPythonApplication rec { ] ++ [ dpkg ]; - pytestFlagsArray = [ "tests/unit" ]; + enabledTestPaths = [ "tests/unit" ]; disabledTests = [ "test_project_all_platforms_invalid" diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index cfd7f0970a1c..d268e325dfb2 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.12.3"; + version = "0.12.4"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-KvTRoiySjLhm5jmYqXZAehRAzkB9CufyNisXkuagOv8="; + hash = "sha256-XuHVKxzXYlm3iEhdAVCyd62uNyb3jeJRl3B0hnvUzX0="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-5fK5VQ+UqkHmPdFz3FKAY9TVjvpePiYifrTHsxnkThM="; + cargoHash = "sha256-cyjaGI7JoreAmHtUrRKNyiCaE8zveP/dFJROC2iIXr4="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/s2/s2n-tls/package.nix b/pkgs/by-name/s2/s2n-tls/package.nix index 9e22ac018bde..79155dfb0d82 100644 --- a/pkgs/by-name/s2/s2n-tls/package.nix +++ b/pkgs/by-name/s2/s2n-tls/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "s2n-tls"; - version = "1.5.21"; + version = "1.5.22"; src = fetchFromGitHub { owner = "aws"; repo = "s2n-tls"; rev = "v${version}"; - hash = "sha256-Rgm6Y75V6lN00lklTL1cXtzfw5ROYXQQLcmLbawl40o="; + hash = "sha256-NIHtyoGjhAIiq9AsoKs3RtmMHePA4HIecPJTfkIin2Q="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index 21a8780c4479..d6c21368d2d9 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -62,7 +62,7 @@ assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; - version = "3.2.16"; + version = "3.2.18"; outputs = [ "lib" @@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-xFWE/i4l3sU1KritwbqvN67kJ3/WUfNP3iScMfQUbwA="; + hash = "sha256-z3SMxPoO5zWOvJvgkla3vMg51qdKqbMGudIwOr3265s="; }; postPatch = diff --git a/pkgs/by-name/sh/sherlock/package.nix b/pkgs/by-name/sh/sherlock/package.nix index 196a15ad6963..c873e26e70ea 100644 --- a/pkgs/by-name/sh/sherlock/package.nix +++ b/pkgs/by-name/sh/sherlock/package.nix @@ -66,9 +66,8 @@ python3.pkgs.buildPythonApplication rec { pythonRelaxDeps = [ "stem" ]; - pytestFlagsArray = [ - "-m" - "'not online'" + disabledTestMarks = [ + "online" ]; meta = { diff --git a/pkgs/by-name/sn/snallygaster/package.nix b/pkgs/by-name/sn/snallygaster/package.nix index a482cfbe3806..986766ef54d3 100644 --- a/pkgs/by-name/sn/snallygaster/package.nix +++ b/pkgs/by-name/sn/snallygaster/package.nix @@ -26,9 +26,9 @@ python3Packages.buildPythonApplication rec { nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; - pytestFlagsArray = [ + disabledTestPaths = [ # we are not interested in linting the project - "--ignore=tests/test_codingstyle.py" + "tests/test_codingstyle.py" ]; meta = with lib; { diff --git a/pkgs/by-name/sv/svtplay-dl/package.nix b/pkgs/by-name/sv/svtplay-dl/package.nix index dabc7de52d37..52fa963efd0b 100644 --- a/pkgs/by-name/sv/svtplay-dl/package.nix +++ b/pkgs/by-name/sv/svtplay-dl/package.nix @@ -59,8 +59,11 @@ buildPythonApplication { requests-mock ]; - pytestFlagsArray = [ + pytestFlags = [ "--doctest-modules" + ]; + + enabledTestPaths = [ "lib" ]; diff --git a/pkgs/by-name/ta/tahoe-lafs/package.nix b/pkgs/by-name/ta/tahoe-lafs/package.nix index b761c484062d..5680ce76fd7d 100644 --- a/pkgs/by-name/ta/tahoe-lafs/package.nix +++ b/pkgs/by-name/ta/tahoe-lafs/package.nix @@ -26,7 +26,7 @@ let input: (input.pname or null) != "pytest-twisted" ) oldAttrs.nativeCheckInputs; - pytestFlagsArray = null; + doCheck = false; }); }; }; diff --git a/pkgs/by-name/ti/tinysparql/package.nix b/pkgs/by-name/ti/tinysparql/package.nix index 73bd538544a1..627fca114f06 100644 --- a/pkgs/by-name/ti/tinysparql/package.nix +++ b/pkgs/by-name/ti/tinysparql/package.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchurl, + fetchpatch2, gettext, meson, mesonEmulatorHook, @@ -111,6 +112,14 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + patches = [ + (fetchpatch2 { + name = "make-dbus-dep-optional.patch"; + url = "https://gitlab.gnome.org/GNOME/tinysparql/-/commit/31b5a793cd40cdce032e0f7d7c3ef7841c6e3691.patch?full_index=1"; + hash = "sha256-YoWJEa2bFIjZdPW9pJ3iHTxi0dvveYDjKaDokcIvnj8="; + }) + ]; + postPatch = '' patchShebangs \ utils/data-generators/cc/generate diff --git a/pkgs/by-name/ua/uavs3d/package.nix b/pkgs/by-name/ua/uavs3d/package.nix new file mode 100644 index 000000000000..a0b619896548 --- /dev/null +++ b/pkgs/by-name/ua/uavs3d/package.nix @@ -0,0 +1,48 @@ +{ + lib, + fetchFromGitHub, + cmake, + stdenv, + testers, + unstableGitUpdater, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "uavs3d"; + version = "1.1-unstable-2023-02-23"; + + src = fetchFromGitHub { + owner = "uavs3"; + repo = "uavs3d"; + rev = "1fd04917cff50fac72ae23e45f82ca6fd9130bd8"; + hash = "sha256-ZSuFgTngOd4NbZnOnw4XVocv4nAR9HPkb6rP2SASLrM="; + }; + + cmakeFlags = [ + (lib.cmakeBool "COMPILE_10BIT" true) + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + ]; + + outputs = [ + "out" + "dev" + ]; + + nativeBuildInputs = [ + cmake + ]; + + passthru = { + updateScript = unstableGitUpdater { }; + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + }; + + meta = { + homepage = "https://github.com/uavs3/uavs3d"; + description = "AVS3 decoder which supports AVS3-P2 baseline profile"; + license = lib.licenses.bsd3; + pkgConfigModules = [ "uavs3d" ]; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/un/unblob/package.nix b/pkgs/by-name/un/unblob/package.nix index b518c395d3dc..dc45542e7cd7 100644 --- a/pkgs/by-name/un/unblob/package.nix +++ b/pkgs/by-name/un/unblob/package.nix @@ -124,18 +124,14 @@ python3.pkgs.buildPythonApplication rec { versionCheckProgramArg = "--version"; - pytestFlagsArray = - let - # `disabledTests` swallows the parameters between square brackets - disabled = [ - # https://github.com/tytso/e2fsprogs/issues/152 - "test_all_handlers[filesystem.extfs]" - ]; - in - [ - "--no-cov" - "-k 'not ${lib.concatStringsSep " and not " disabled}'" - ]; + pytestFlags = [ + "--no-cov" + ]; + + disabledTests = [ + # https://github.com/tytso/e2fsprogs/issues/152 + "test_all_handlers[filesystem.extfs]" + ]; passthru = { updateScript = gitUpdater { }; diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index 70bec726c90a..1fc0b641f97f 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, lua, jemalloc, pkg-config, @@ -23,16 +24,24 @@ stdenv.mkDerivation (finalAttrs: { pname = "valkey"; - version = "8.1.2"; + version = "8.1.3"; src = fetchFromGitHub { owner = "valkey-io"; repo = "valkey"; rev = finalAttrs.version; - hash = "sha256-5wSUDNFQ6GWT9aGO3Msm+GFSXpNcty8L8UdGw4R0GDw="; + hash = "sha256-JFtStE1avSWGptgj9KtfAr55+J1FydEzD5plvSe2mjM="; }; - patches = lib.optional useSystemJemalloc ./use_system_jemalloc.patch; + patches = [ + # Fix tests on 8.1.3 + # FIXME: remove for next release + (fetchpatch { + url = "https://github.com/valkey-io/valkey/commit/02d7ee08489fe34f853ffccce9057dea6f03d957.diff"; + hash = "sha256-/5U6HqgK4m1XQGTZchSmzl7hOBxCwL4XZVjE5QIZVjc="; + }) + ] + ++ lib.optional useSystemJemalloc ./use_system_jemalloc.patch; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/vi/victorialogs/package.nix b/pkgs/by-name/vi/victorialogs/package.nix index 13d2cbcba14a..6d140abc3d11 100644 --- a/pkgs/by-name/vi/victorialogs/package.nix +++ b/pkgs/by-name/vi/victorialogs/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "VictoriaLogs"; - version = "1.25.0"; + version = "1.26.0"; src = fetchFromGitHub { owner = "VictoriaMetrics"; repo = "VictoriaLogs"; tag = "v${finalAttrs.version}"; - hash = "sha256-KhXB+37uK08dDYXtnaPDS7gP/gBGZ0gqyR0u572QOx8="; + hash = "sha256-PnXpu2Dna5grozKOGRHi/Gic7djszYh7wJ96EiEYP8U="; }; vendorHash = null; diff --git a/pkgs/by-name/vi/victoriametrics/package.nix b/pkgs/by-name/vi/victoriametrics/package.nix index fbd7b38a5e97..2d250e0194a4 100644 --- a/pkgs/by-name/vi/victoriametrics/package.nix +++ b/pkgs/by-name/vi/victoriametrics/package.nix @@ -13,13 +13,13 @@ buildGoModule (finalAttrs: { pname = "VictoriaMetrics"; - version = "1.121.0"; + version = "1.122.0"; src = fetchFromGitHub { owner = "VictoriaMetrics"; repo = "VictoriaMetrics"; tag = "v${finalAttrs.version}"; - hash = "sha256-hCZU6O3synVayg253Cbsonzad3ZBMx1B/yJwBJzU+X0="; + hash = "sha256-CpxnCW4+hsc3SQZXMI0pkPnKPvh1GTvCmhg5NkSZbk4="; }; vendorHash = null; diff --git a/pkgs/by-name/vu/vulkan-tools/package.nix b/pkgs/by-name/vu/vulkan-tools/package.nix index 215b4f05f61b..3b37dea8f772 100644 --- a/pkgs/by-name/vu/vulkan-tools/package.nix +++ b/pkgs/by-name/vu/vulkan-tools/package.nix @@ -70,6 +70,9 @@ stdenv.mkDerivation rec { env.PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = lib.getExe buildPackages.wayland-scanner; cmakeFlags = [ + # Temporarily disabled, see https://github.com/KhronosGroup/Vulkan-Tools/issues/1130 + # FIXME: remove when fixed upstream + "-DBUILD_CUBE=OFF" # Don't build the mock ICD as it may get used instead of other drivers, if installed "-DBUILD_ICD=OFF" # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH diff --git a/pkgs/by-name/vu/vulnix/package.nix b/pkgs/by-name/vu/vulnix/package.nix index f959da21ca94..43a317d2d95d 100644 --- a/pkgs/by-name/vu/vulnix/package.nix +++ b/pkgs/by-name/vu/vulnix/package.nix @@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec { postBuild = "make -C doc"; - pytestFlagsArray = [ "src/vulnix" ]; + enabledTestPaths = [ "src/vulnix" ]; postInstall = '' install -D -t $doc/share/doc/vulnix README.rst CHANGES.rst diff --git a/pkgs/by-name/xa/xavs2/package.nix b/pkgs/by-name/xa/xavs2/package.nix new file mode 100644 index 000000000000..561b1b0bd237 --- /dev/null +++ b/pkgs/by-name/xa/xavs2/package.nix @@ -0,0 +1,83 @@ +{ + lib, + fetchFromGitHub, + gitUpdater, + stdenv, + testers, + nasm, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "xavs2"; + version = "1.4"; + + src = fetchFromGitHub { + owner = "pkuvcl"; + repo = "xavs2"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-4w/WTXvRQbohKL+YALQCCYglHQKVvehlUYfitX/lLPw="; + }; + + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-incompatible-pointer-types" + ] + ++ lib.optionals (stdenv.cc.isClang || stdenv.cc.isZig) [ + "-Wno-incompatible-function-pointer-types" + ] + ); + + postPatch = '' + substituteInPlace ./version.sh \ + --replace-fail "date" 'date -ud "@$SOURCE_DATE_EPOCH"' + ''; + + preConfigure = '' + # Generate version.h + ./version.sh + cd build/linux + + # We need to explicitly set AS to nasm on x86, because the assembly code uses NASM-isms, + # and to empty string on all other platforms, because the build system erroneously assumes + # that assembly code exists for non-x86 platforms, and will not attempt to build it + # if AS is explicitly set to empty. + export AS=${if stdenv.hostPlatform.isx86 then "nasm" else ""} + ''; + + configureFlags = [ + "--cross-prefix=${stdenv.cc.targetPrefix}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ + (lib.enableFeature true "shared") + "--system-libxavs2" + ]; + + postInstall = lib.optionalString (!stdenv.hostPlatform.isStatic) '' + rm $lib/lib/*.a + ''; + + nativeBuildInputs = [ + nasm + ]; + + outputs = [ + "out" + "lib" + "dev" + ]; + + passthru = { + updateScript = gitUpdater { }; + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + }; + + meta = { + homepage = "https://github.com/pkuvcl/xavs2"; + description = "Open-source encoder of AVS2-P2/IEEE1857.4 video coding standard"; + license = lib.licenses.gpl2Plus; + mainProgram = "xavs2"; + pkgConfigModules = [ "xavs2" ]; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/xm/xml-tooling-c/package.nix b/pkgs/by-name/xm/xml-tooling-c/package.nix index 118b087dba8a..ab978f194f15 100644 --- a/pkgs/by-name/xm/xml-tooling-c/package.nix +++ b/pkgs/by-name/xm/xml-tooling-c/package.nix @@ -36,6 +36,10 @@ stdenv.mkDerivation rec { pkg-config ]; + configureFlags = [ + "--with-boost=${boost.dev}" + ]; + env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.hostPlatform.isDarwin) "-std=c++14"; enableParallelBuilding = true; diff --git a/pkgs/by-name/xt/xterm/package.nix b/pkgs/by-name/xt/xterm/package.nix index 1c0e045b9706..0b2d9e059a4d 100644 --- a/pkgs/by-name/xt/xterm/package.nix +++ b/pkgs/by-name/xt/xterm/package.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "400"; + version = "401"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - hash = "sha256-7thOzAXvpj1YnFoqP1qUfhS3mNA7U0LMaINxD2SPGgY="; + hash = "sha256-PaK15ky0mwOqEwV9heYuHy5k98dEcZwA0zjRHNPmyho="; }; patches = [ ./sixel-256.support.patch ]; diff --git a/pkgs/by-name/yt/ytdl-sub/package.nix b/pkgs/by-name/yt/ytdl-sub/package.nix index 19d9603a250d..9b2727e86cd2 100644 --- a/pkgs/by-name/yt/ytdl-sub/package.nix +++ b/pkgs/by-name/yt/ytdl-sub/package.nix @@ -59,10 +59,10 @@ python3Packages.buildPythonApplication rec { "test_thumbnail" ]; - pytestFlagsArray = [ + disabledTestPaths = [ # According to documentation, e2e tests can be flaky: # "This checksum can be inaccurate for end-to-end tests" - "--ignore=tests/e2e" + "tests/e2e" ]; passthru.updateScript = ./update.sh; diff --git a/pkgs/development/compilers/go/1.24.nix b/pkgs/development/compilers/go/1.24.nix index b89d2459eac3..15fa9266bd05 100644 --- a/pkgs/development/compilers/go/1.24.nix +++ b/pkgs/development/compilers/go/1.24.nix @@ -27,11 +27,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.24.4"; + version = "1.24.5"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-WoaoOjH5+oFJC4xUIKw4T9PZWj5x+6Zlx7P5XR3+8rQ="; + hash = "sha256-dP2wnyNS4rJbeUPlaDbJtHNj0o3sHItWxKlXDzC49Z8="; }; strictDeps = true; diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix index 3c5e23eeed41..6151542ed561 100644 --- a/pkgs/development/embedded/platformio/core.nix +++ b/pkgs/development/embedded/platformio/core.nix @@ -116,6 +116,10 @@ buildPythonApplication rec { --fish <(_PIO_COMPLETE=fish_source $out/bin/pio) ''; + enabledTestPaths = [ + "tests" + ]; + disabledTestPaths = [ "tests/commands/pkg/test_install.py" "tests/commands/pkg/test_list.py" @@ -130,21 +134,10 @@ buildPythonApplication rec { "tests/commands/test_run.py" "tests/commands/test_test.py" "tests/misc/test_maintenance.py" + # requires internet connection "tests/misc/ino2cpp/test_ino2cpp.py" - ]; - disabledTests = [ - # requires internet connection - "test_api_cache" - "test_ping_internet_ips" - "test_metadata_dump" - ]; - - pytestFlagsArray = [ - "tests" - ] - ++ (map (e: "--deselect tests/${e}") [ "commands/pkg/test_exec.py::test_pkg_specified" "commands/pkg/test_exec.py::test_unrecognized_options" "commands/test_ci.py::test_ci_boards" @@ -201,7 +194,14 @@ buildPythonApplication rec { "test_misc.py::test_ping_internet_ips" "test_misc.py::test_platformio_cli" "test_pkgmanifest.py::test_packages" - ]); + ]; + + disabledTests = [ + # requires internet connection + "test_api_cache" + "test_ping_internet_ips" + "test_metadata_dump" + ]; passthru = { python = python3Packages.python; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index cdf323e4ec79..76bd9e39a938 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -64,6 +64,7 @@ withCudaNVCC ? withFullDeps && withUnfree && config.cudaSupport, withCuvid ? withHeadlessDeps && withNvcodec, withDav1d ? withHeadlessDeps, # AV1 decoder (focused on speed and correctness) + withDavs2 ? withFullDeps && withGPL, # AVS2 decoder withDc1394 ? withFullDeps && !stdenv.hostPlatform.isDarwin, # IIDC-1394 grabbing (ieee 1394) withDrm ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD), # libdrm support withDvdnav ? withFullDeps && withGPL && lib.versionAtLeast version "7", # needed for DVD demuxing @@ -137,6 +138,7 @@ withTensorflow ? false, # Tensorflow dnn backend support (Increases closure size by ~390 MiB) withTheora ? withHeadlessDeps, # Theora encoder withTwolame ? withFullDeps, # MP2 encoding + withUavs3d ? withFullDeps, # AVS3 decoder withV4l2 ? withHeadlessDeps && stdenv.hostPlatform.isLinux, # Video 4 Linux support withV4l2M2m ? withV4l2, withVaapi ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD), # Vaapi hardware acceleration @@ -153,6 +155,7 @@ withX264 ? withHeadlessDeps && withGPL, # H.264/AVC encoder withX265 ? withHeadlessDeps && withGPL, # H.265/HEVC encoder withXavs ? withFullDeps && withGPL, # AVS encoder + withXavs2 ? withFullDeps && withGPL, # AVS2 encoder withXcb ? withXcbShm || withXcbxfixes || withXcbShape, # X11 grabbing using XCB withXcbShape ? withFullDeps, # X11 grabbing shape rendering withXcbShm ? withFullDeps, # X11 grabbing shm communication @@ -243,6 +246,7 @@ codec2, clang, dav1d, + davs2, fdk_aac, flite, fontconfig, @@ -328,6 +332,7 @@ speex, srt, svt-av1, + uavs3d, vid-stab, vo-amrwbenc, vulkan-headers, @@ -336,6 +341,7 @@ x264, x265, xavs, + xavs2, xevd, xeve, xvidcore, @@ -614,6 +620,7 @@ stdenv.mkDerivation ( (enableFeature withCudaNVCC "cuda-nvcc") (enableFeature withCuvid "cuvid") (enableFeature withDav1d "libdav1d") + (enableFeature withDavs2 "libdavs2") (enableFeature withDc1394 "libdc1394") (enableFeature withDrm "libdrm") ] @@ -713,6 +720,7 @@ stdenv.mkDerivation ( (enableFeature withTensorflow "libtensorflow") (enableFeature withTheora "libtheora") (enableFeature withTwolame "libtwolame") + (enableFeature withUavs3d "libuavs3d") (enableFeature withV4l2 "libv4l2") (enableFeature withV4l2M2m "v4l2-m2m") (enableFeature withVaapi "vaapi") @@ -737,6 +745,7 @@ stdenv.mkDerivation ( (enableFeature withX264 "libx264") (enableFeature withX265 "libx265") (enableFeature withXavs "libxavs") + (enableFeature withXavs2 "libxavs2") (enableFeature withXcb "libxcb") (enableFeature withXcbShape "libxcb-shape") (enableFeature withXcbShm "libxcb-shm") @@ -827,6 +836,7 @@ stdenv.mkDerivation ( cuda_nvcc ] ++ optionals withDav1d [ dav1d ] + ++ optionals withDavs2 [ davs2 ] ++ optionals withDc1394 ([ libdc1394 ] ++ (lib.optional stdenv.hostPlatform.isLinux libraw1394)) ++ optionals withDrm [ libdrm ] ++ optionals withDvdnav [ libdvdnav ] @@ -902,6 +912,7 @@ stdenv.mkDerivation ( ++ optionals withTensorflow [ libtensorflow ] ++ optionals withTheora [ libtheora ] ++ optionals withTwolame [ twolame ] + ++ optionals withUavs3d [ uavs3d ] ++ optionals withV4l2 [ libv4l ] ++ optionals withVaapi [ (if withSmallDeps then libva else libva-minimal) ] ++ optionals withVdpau [ libvdpau ] @@ -920,6 +931,7 @@ stdenv.mkDerivation ( ++ optionals withX264 [ x264 ] ++ optionals withX265 [ x265 ] ++ optionals withXavs [ xavs ] + ++ optionals withXavs2 [ xavs2 ] ++ optionals withXcb [ libxcb ] ++ optionals withXevd [ xevd ] ++ optionals withXeve [ xeve ] diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 4aee6ac9d3bf..0ab81cc29ded 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -14,17 +14,18 @@ stdenv.mkDerivation rec { pname = "gettext"; - version = "0.25"; + version = "0.25.1"; src = fetchurl { url = "mirror://gnu/gettext/${pname}-${version}.tar.gz"; - hash = "sha256-ruAtq3nZE4/cxyJrZ+yYUSG85gB+3r4w0OOdQvaaNA4="; + hash = "sha256-dG+VXULXHrac52OGnLkmgvCaQGZSjQGLbKej9ICJoIU="; }; patches = [ ./absolute-paths.diff # fix reproducibile output, in particular in the grub2 build # https://savannah.gnu.org/bugs/index.php?59658 ./0001-msginit-Do-not-use-POT-Creation-Date.patch + ./memory-safety.patch ]; outputs = [ diff --git a/pkgs/development/libraries/gettext/memory-safety.patch b/pkgs/development/libraries/gettext/memory-safety.patch new file mode 100644 index 000000000000..8c6c9f5e5052 --- /dev/null +++ b/pkgs/development/libraries/gettext/memory-safety.patch @@ -0,0 +1,44 @@ +From: Bruno Haible +Date: Mon, 7 Jul 2025 07:02:41 +0000 (+0200) +Subject: xgettext: Perl: Fix bug with comment lines longer than 1024 (regr. 2024-09-26). +X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff_plain;h=f98de965a08d1883a46ba5411922b54cc5125f14 + +xgettext: Perl: Fix bug with comment lines longer than 1024 (regr. 2024-09-26). + +Reported by Alyssa Ross in +. + +* gettext-tools/src/x-perl.c (phase2_getc): Move the sb_free call until after +the savable_comment_add call. +--- + +diff --git a/gettext-tools/src/x-perl.c b/gettext-tools/src/x-perl.c +index d3aa50476..312fef371 100644 +--- a/gettext-tools/src/x-perl.c ++++ b/gettext-tools/src/x-perl.c +@@ -558,7 +558,6 @@ phase2_getc (struct perl_extractor *xp) + { + int lineno; + int c; +- char *utf8_string; + + c = phase1_getc (xp); + if (c == '#') +@@ -587,12 +586,13 @@ phase2_getc (struct perl_extractor *xp) + sb_xappend1 (&buffer, c); + } + /* Convert it to UTF-8. */ +- utf8_string = +- from_current_source_encoding (sb_xcontents_c (&buffer), lc_comment, ++ const char *contents = sb_xcontents_c (&buffer); ++ char *utf8_contents = ++ from_current_source_encoding (contents, lc_comment, + logical_file_name, lineno); +- sb_free (&buffer); + /* Save it until we encounter the corresponding string. */ +- savable_comment_add (utf8_string); ++ savable_comment_add (utf8_contents); ++ sb_free (&buffer); + xp->last_comment_line = lineno; + } + return c; diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 0d1ee2adcb02..94fc6870976e 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -59,11 +59,11 @@ in stdenv.mkDerivation rec { pname = "gnutls"; - version = "3.8.9"; + version = "3.8.10"; src = fetchurl { url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz"; - hash = "sha256-aeET2ALRZwxNWsG5kECx8tXHwF2uxQA4E8BJtRhIIO0="; + hash = "sha256-23+rfM55Hncn677yM0MByCHXmlUOxVye8Ja2ELA+trc="; }; outputs = [ @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { # - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular) # - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11) # - psk-file: no idea; it broke between 3.6.3 and 3.6.4 - # - ktls: requires tls module loaded into kernel + # - ktls: requires tls module loaded into kernel and ktls-utils which depends on gnutls # Change p11-kit test to use pkg-config to find p11-kit postPatch = '' sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh @@ -102,6 +102,13 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.hostPlatform.isLinux '' sed '2iexit 77' -i tests/{ktls,ktls_keyupdate}.sh + sed '/-DUSE_KTLS/d' -i tests/Makefile.{am,in} + sed '/gnutls_ktls/d' -i tests/Makefile.am + sed '/ENABLE_KTLS_TRUE/d' -i tests/Makefile.in + '' + # https://gitlab.com/gnutls/gnutls/-/issues/1721 + + '' + sed '2iexit 77' -i tests/system-override-compress-cert.sh ''; preConfigure = "patchShebangs ."; diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 52d949c2d2b8..8c63958a4f42 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -24,6 +24,7 @@ # warning: No decoder available for type 'video/x-h264, stream-format=(string)avc, [...], lcevc=(boolean)false, [...] lcevcdecSupport ? false, lcevcdec, + ldacbtSupport ? lib.meta.availableOn stdenv.hostPlatform ldacbt, ldacbt, liblc3, libass, @@ -31,6 +32,7 @@ ladspaH, lcms2, libnice, + webrtcAudioProcessingSupport ? lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1, webrtc-audio-processing_1, lilv, lv2, @@ -162,10 +164,8 @@ stdenv.mkDerivation (finalAttrs: { orc json-glib lcms2 - ldacbt liblc3 libass - webrtc-audio-processing_1 libbs2b libmodplug openjpeg @@ -268,6 +268,12 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals lcevcdecSupport [ lcevcdec ] + ++ lib.optionals ldacbtSupport [ + ldacbt + ] + ++ lib.optionals webrtcAudioProcessingSupport [ + webrtc-audio-processing_1 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_gstreamer ]; diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index f8fdf154b7dc..e37a40923d1a 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -129,27 +129,35 @@ stdenv.mkDerivation (finalAttrs: { wayland-scanner ]; - buildInputs = [ - libxkbcommon - (libepoxy.override { inherit x11Support; }) - isocodes - ] - ++ lib.optionals trackerSupport [ - tinysparql - ]; + buildInputs = + lib.optionals (x11Support || waylandSupport) [ + # TODO: Reorder me on `staging`. + libxkbcommon + ] + ++ [ + (libepoxy.override { inherit x11Support; }) + ] + ++ lib.optionals (x11Support || waylandSupport) [ + isocodes + ] + ++ lib.optionals trackerSupport [ + tinysparql + ]; #TODO: colord? - propagatedBuildInputs = + propagatedBuildInputs = [ + at-spi2-atk + atk + cairo + expat + fribidi + gdk-pixbuf + glib + gsettings-desktop-schemas + ] + ++ lib.optionals x11Support ( with xorg; [ - at-spi2-atk - atk - cairo - expat - fribidi - gdk-pixbuf - glib - gsettings-desktop-schemas libICE libSM libXcomposite @@ -159,19 +167,23 @@ stdenv.mkDerivation (finalAttrs: { libXi libXrandr libXrender - pango ] - ++ lib.optionals waylandSupport [ - libGL - wayland - wayland-protocols - ] - ++ lib.optionals xineramaSupport [ - libXinerama - ] - ++ lib.optionals cupsSupport [ - cups - ]; + ) + ++ [ + # TODO: Reorder me on `staging`. + pango + ] + ++ lib.optionals waylandSupport [ + libGL + wayland + wayland-protocols + ] + ++ lib.optionals xineramaSupport [ + xorg.libXinerama + ] + ++ lib.optionals cupsSupport [ + cups + ]; mesonFlags = [ "-Dgtk_doc=${lib.boolToString withIntrospection}" diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix index 763e866a1c51..bc1b86099939 100644 --- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix +++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix @@ -23,8 +23,7 @@ mkDerivation { buildInputs = [ karchive openexr - # FIXME: cmake files are broken, disabled for now - # libavif + libavif libheif libjxl libraw diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index c2c75286a86c..3bd6add13ca5 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libffi"; - version = "3.4.8"; + version = "3.5.1"; src = fetchurl { url = with finalAttrs; "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz"; - hash = "sha256-vJhCoYiYv6yw7RJSxP68x+ePoTn9J/3Ho+MNnZNWEZs="; + hash = "sha256-+Z62imfH1Uhmt3Bq8kXoe6Bg1BmgYkdLRW07yNSr29E="; }; # Note: this package is used for bootstrapping fetchurl, and thus diff --git a/pkgs/development/libraries/mesa/llvmpipe-hook.sh b/pkgs/development/libraries/mesa/llvmpipe-hook.sh index 35979eaa5cb6..b5d2c034eb09 100644 --- a/pkgs/development/libraries/mesa/llvmpipe-hook.sh +++ b/pkgs/development/libraries/mesa/llvmpipe-hook.sh @@ -1,12 +1,26 @@ # shellcheck shell=bash +# Mesa: force software rendering # https://docs.mesa3d.org/envvars.html export LIBGL_ALWAYS_SOFTWARE=true export LIBGL_DRIVERS_PATH=@mesa@/lib/dri +# GLX +# glvnd just does dlopen("libGLX_%s.so"), so we have to resort to +# LD_LIBRARY_PATH, which is bad but what can you do. +# FIXME: maybe change glvnd to allow specifying this properly +export LD_LIBRARY_PATH=@mesa@/lib:${LD_LIBRARY_PATH:-} +export __GLX_VENDOR_LIBRARY_NAME=mesa + +# EGL # https://github.com/NVIDIA/libglvnd/blob/master/src/EGL/icd_enumeration.md export __EGL_VENDOR_LIBRARY_FILENAMES=@mesa@/share/glvnd/egl_vendor.d/50_mesa.json +# GBM +export GBM_BACKENDS_PATH=@mesa@/lib/gbm +export GBM_BACKEND=dri + +# Vulkan # https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md # glob because the filenames contain an architecture suffix # echo is needed to force-expand the glob diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix index fb054defc168..66d3b5f9ac1b 100644 --- a/pkgs/development/libraries/pcre2/default.nix +++ b/pkgs/development/libraries/pcre2/default.nix @@ -3,7 +3,9 @@ stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook, - withJitSealloc ? true, + # Causes consistent segfaults on ELFv1 PPC64 when trying to use Perl regex in gnugrep + # https://github.com/PCRE2Project/pcre2/issues/762 + withJitSealloc ? !(stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isAbiElfv1), }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine/default.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine/default.nix index ccbdb4a7e6aa..85c3b1270bfd 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebengine/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebengine/default.nix @@ -113,8 +113,7 @@ qtModule { # Reproducibility QTBUG-136068 ./gn-object-sorted.patch - ] - ++ lib.optionals stdenv.cc.isClang [ + # https://chromium-review.googlesource.com/c/chromium/src/+/6445471 (fetchpatch2 { url = "https://github.com/chromium/chromium/commit/f8f21fb4aa01f75acbb12abf5ea8c263c6817141.patch?full_index=1"; diff --git a/pkgs/development/libraries/readline/8.2.nix b/pkgs/development/libraries/readline/8.3.nix similarity index 94% rename from pkgs/development/libraries/readline/8.2.nix rename to pkgs/development/libraries/readline/8.3.nix index 0434a749390e..bc157f294ea8 100644 --- a/pkgs/development/libraries/readline/8.2.nix +++ b/pkgs/development/libraries/readline/8.3.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "readline"; - version = "8.2p${toString (builtins.length finalAttrs.upstreamPatches)}"; + version = "8.3p${toString (builtins.length finalAttrs.upstreamPatches)}"; src = fetchurl { url = "mirror://gnu/readline/readline-${finalAttrs.meta.branch}.tar.gz"; - sha256 = "sha256-P+txcfFqhO6CyhijbXub4QmlLAT0kqBTMx19EJUAfDU="; + hash = "sha256-/lODIERngozUle6NHTwDen66E4nCK8agQfYnl2+QYcw="; }; outputs = [ @@ -37,11 +37,11 @@ stdenv.mkDerivation (finalAttrs: { patch = nr: sha256: fetchurl { - url = "mirror://gnu/readline/readline-${finalAttrs.meta.branch}-patches/readline82-${nr}"; + url = "mirror://gnu/readline/readline-${finalAttrs.meta.branch}-patches/readline83-${nr}"; inherit sha256; }; in - import ./readline-8.2-patches.nix patch + import ./readline-8.3-patches.nix patch ); patches = @@ -117,6 +117,6 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ dtzWill ]; platforms = platforms.unix ++ platforms.windows; - branch = "8.2"; + branch = "8.3"; }; }) diff --git a/pkgs/development/libraries/readline/readline-8.2-patches.nix b/pkgs/development/libraries/readline/readline-8.2-patches.nix deleted file mode 100644 index 7d98ff1fc71f..000000000000 --- a/pkgs/development/libraries/readline/readline-8.2-patches.nix +++ /dev/null @@ -1,17 +0,0 @@ -# Automatically generated by `update-patch-set.sh'; do not edit. - -patch: [ - (patch "001" "1xxgfgr6hn3ads8m8xsrdi1kbx1f3s69k0danpd9x4haqhg7zydv") - (patch "002" "0ly0siy6qy3l7hv12847adpfa34yq1w4qz9qkw6vrxv25j106rg0") - (patch "003" "1c5cwvvkx9mfmpaapymq9cavmzh4fnagkjlchsqx4vml8sx8gx94") - (patch "004" "1b15sndx9v5vj3x1f3h73099nlagknx4rbfpd5ldrbw2xgm2wmvr") - (patch "005" "16ac25jz1a1mgkpfp1sydqf6qpsfh0s0dcmrnjpqbhg5va3s6av2") - (patch "006" "18gmh6y3klh0vv28cyqz4is3rlb32pl7f1kf5r482kfjq3w5zd67") - (patch "007" "1xmnpahs983n4w0gn3j0wr8nh1dpva33yj7fvfmhm46ph2wsa4ar") - (patch "008" "0smjjzhwxi2ibpdisnk53lh1pzgka6rhlqyh3662xy69v34ysxx1") - (patch "009" "05m1fwbs7mbs3pz3pg87gbbayandrrcgaqawzliqb6g1jbk8b61x") - (patch "010" "0k3vyrjs2g6y2cfs03l2gp37fhxgqpiwvxb1c7z4q88cbb32x3km") - (patch "011" "1msdahvz56l9m5m69a87zp2c7qrfv0dxwd09rj1697isgy83s0g0") - (patch "012" "1lybzig73pqpcbw79im0kn6299lkcbnh24yigygn5jm2sj7dz2kc") - (patch "013" "1a48lyrhvn6nbj5qhradfpbbs3md5maz7wb32yvaghvfgnak990y") -] diff --git a/pkgs/development/libraries/readline/readline-8.3-patches.nix b/pkgs/development/libraries/readline/readline-8.3-patches.nix new file mode 100644 index 000000000000..39f31814ee83 --- /dev/null +++ b/pkgs/development/libraries/readline/readline-8.3-patches.nix @@ -0,0 +1,5 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ + (patch "001" "1pl4midx7kc56bw4ansrdpdjpanv1vmp0p6jghrrgrnv0qqs1w11") +] diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 24e5cf2843eb..b059e8138cd3 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -27,17 +27,17 @@ in stdenv.mkDerivation rec { pname = "sqlite${lib.optionalString interactive "-interactive"}"; - version = "3.50.1"; + version = "3.50.2"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { url = "https://sqlite.org/2025/sqlite-autoconf-${archiveVersion version}.tar.gz"; - hash = "sha256-AKZRFNaXz6qP4GMCgddv0bd6/Nlc1eQOxqAsu62/6nE="; + hash = "sha256-hKYW/9MXOORZC2W6uzqeHvk3DzY4422yIO4Oc/itIVY="; }; docsrc = fetchurl { url = "https://sqlite.org/2025/sqlite-doc-${archiveVersion version}.zip"; - hash = "sha256-ZiIF9jOC5X0Qceqr08eQjdchFKggqOvPGg1xqdazgrQ="; + hash = "sha256-n4uitTo6oskWbUagLZEbhdO4sLhAxJHTIdX8YhUONBk="; }; outputs = [ diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index 62d2f3c915d9..0528448da7ff 100644 --- a/pkgs/development/libraries/sqlite/tools.nix +++ b/pkgs/development/libraries/sqlite/tools.nix @@ -19,14 +19,14 @@ let }: stdenv.mkDerivation rec { inherit pname; - version = "3.50.1"; + version = "3.50.2"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2025/sqlite-src-${archiveVersion version}.zip"; - hash = "sha256-kJBZd3PGCknK67PBrFfbYm+sTZfLUYkIFai1KaTZw9w="; + hash = "sha256-CR7uw64sy5Gqwh0OmkpYlE+yyxEvpnv/w+CMLsothcg="; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index dec83f98c701..13973da9ac35 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayland"; - version = "1.23.1"; + version = "1.24.0"; src = fetchurl { url = with finalAttrs; "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; - hash = "sha256-hk+yqDmeLQ7DnVbp2bdTwJN3W+rcYCLOgfRBkpqB5e0="; + hash = "sha256-gokkh6Aa1nszTsqDtUMXp8hqA6ic+trP71IR8RpdBTY="; }; patches = [ diff --git a/pkgs/development/perl-modules/Po4a/default.nix b/pkgs/development/perl-modules/Po4a/default.nix index 399149b839f1..9974cc217752 100644 --- a/pkgs/development/perl-modules/Po4a/default.nix +++ b/pkgs/development/perl-modules/Po4a/default.nix @@ -62,6 +62,11 @@ buildPerlPackage rec { url = "https://github.com/mquinson/po4a/commit/28fe52651eb8096d97d6bd3a97b3168522ba5306.patch"; hash = "sha256-QUXxkSzcnwRvU+2y2KoBXmtfE8qTZ2BV0StkJHqZehQ="; }) + (fetchpatch { + name = "gettext-0.25.patch"; + url = "https://github.com/mquinson/po4a/commit/7d88a5e59606a9a29ffe73325fff4a5ddb865d5c.patch"; + hash = "sha256-5x+EX++v7DxOHOZgRM2tv5eNN1Gy28f+qaqH27emZhk="; + }) ]; # TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build @@ -100,9 +105,7 @@ buildPerlPackage rec { # https://git.alpinelinux.org/aports/tree/main/po4a/APKBUILD#n11 # # Disabling tests on Darwin until https://github.com/NixOS/nixpkgs/issues/236560 is resolved. - # - # Disabling tests on linux (gettext-0.25): https://github.com/mquinson/po4a/issues/580 - doCheck = false; + doCheck = (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isDarwin); checkPhase = '' export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat diff --git a/pkgs/development/python-modules/ahocorasick-rs/default.nix b/pkgs/development/python-modules/ahocorasick-rs/default.nix index 047ef8e91d00..e8c3b47854db 100644 --- a/pkgs/development/python-modules/ahocorasick-rs/default.nix +++ b/pkgs/development/python-modules/ahocorasick-rs/default.nix @@ -42,7 +42,7 @@ buildPythonPackage rec { hypothesis ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "ahocorasick_rs" ]; diff --git a/pkgs/development/python-modules/aiocache/default.nix b/pkgs/development/python-modules/aiocache/default.nix index 7ade263fb543..60352c2de8df 100644 --- a/pkgs/development/python-modules/aiocache/default.nix +++ b/pkgs/development/python-modules/aiocache/default.nix @@ -49,11 +49,8 @@ buildPythonPackage rec { ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ - "-W" - "ignore::DeprecationWarning" - # TypeError: object MagicMock can't be used in 'await' expression - "--deselect=tests/ut/backends/test_redis.py::TestRedisBackend::test_close" + pytestFlags = [ + "-Wignore::DeprecationWarning" # Tests can time out and leave redis/valkey in an unusable state for later tests "-x" ]; @@ -77,6 +74,9 @@ buildPythonPackage rec { "tests/performance/" # Full of timing-sensitive tests "tests/ut/backends/test_redis.py" + + # TypeError: object MagicMock can't be used in 'await' expression + "tests/ut/backends/test_redis.py::TestRedisBackend::test_close" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index c3e262f21077..b12fa8da9a9d 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -50,14 +50,14 @@ buildPythonPackage rec { pname = "aiohttp"; - version = "3.12.13"; + version = "3.12.14"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "aiohttp"; tag = "v${version}"; - hash = "sha256-/lzbGnF3+ufs+GPtm+avjQ+lGVCsiE2E64NkRHS3wCM="; + hash = "sha256-KPPxP6x/3sz2mDJNswh/xPatcMtVdYv3aArg//7tSao="; }; patches = lib.optionals (!lib.meta.availableOn stdenv.hostPlatform isa-l) [ diff --git a/pkgs/development/python-modules/aiomqtt/default.nix b/pkgs/development/python-modules/aiomqtt/default.nix index 16ddf7e8913c..67afc6e13efe 100644 --- a/pkgs/development/python-modules/aiomqtt/default.nix +++ b/pkgs/development/python-modules/aiomqtt/default.nix @@ -34,9 +34,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "aiomqtt" ]; - pytestFlagsArray = [ - "-m" - "'not network'" + disabledTestMarks = [ + "network" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/aiosignal/default.nix b/pkgs/development/python-modules/aiosignal/default.nix index 52c29031753a..2f4a7d85c878 100644 --- a/pkgs/development/python-modules/aiosignal/default.nix +++ b/pkgs/development/python-modules/aiosignal/default.nix @@ -7,23 +7,27 @@ pytest-cov-stub, pytestCheckHook, pythonOlder, + setuptools, + typing-extensions, }: buildPythonPackage rec { pname = "aiosignal"; - version = "1.3.2"; - format = "setuptools"; + version = "1.4.0"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "aio-libs"; repo = "aiosignal"; - rev = "v${version}"; - hash = "sha256-CvNarJpSq8EKnt+PuSerMK/ZVbxL9rp7rQ4dkWykG1M="; + tag = "v${version}"; + hash = "sha256-b46/LGoCeL4mhbBPAiPir7otzKKrlKcEFzn8pG/foh0="; }; - propagatedBuildInputs = [ frozenlist ]; + build-system = [ setuptools ]; + + dependencies = [ frozenlist ] ++ lib.optionals (pythonOlder "3.13") [ typing-extensions ]; nativeCheckInputs = [ pytest-asyncio diff --git a/pkgs/development/python-modules/anndata/default.nix b/pkgs/development/python-modules/anndata/default.nix index bad8ddf0dc23..dac4af2f18d0 100644 --- a/pkgs/development/python-modules/anndata/default.nix +++ b/pkgs/development/python-modules/anndata/default.nix @@ -76,7 +76,7 @@ buildPythonPackage rec { # Optionally disable pytest-xdist to make it easier to debug the test suite. # Test suite takes ~5 minutes without pytest-xdist. Note that some tests will # fail when running without pytest-xdist ("worker_id not found"). - # pytestFlagsArray = [ "-o" "addopts=" ]; + # pytestFlags = [ "-oaddopts=" ]; disabledTestPaths = [ # Tests that require scanpy, creating a circular dependency chain diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix index 389734d22497..afe573ab3feb 100644 --- a/pkgs/development/python-modules/anyio/default.nix +++ b/pkgs/development/python-modules/anyio/default.nix @@ -75,11 +75,12 @@ buildPythonPackage rec { ] ++ optional-dependencies.trio; - pytestFlagsArray = [ - "-W" - "ignore::trio.TrioDeprecationWarning" - "-m" - "'not network'" + pytestFlags = [ + "-Wignore::trio.TrioDeprecationWarning" + ]; + + disabledTestMarks = [ + "network" ]; preCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/development/python-modules/array-api-compat/default.nix b/pkgs/development/python-modules/array-api-compat/default.nix index ad55ece79402..e38443513a14 100644 --- a/pkgs/development/python-modules/array-api-compat/default.nix +++ b/pkgs/development/python-modules/array-api-compat/default.nix @@ -45,9 +45,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "array_api_compat" ]; # CUDA (used via cupy) is not available in the testing sandbox - pytestFlagsArray = [ - "-k" - "'not cupy'" + disabledTests = [ + "cupy" ]; meta = { diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix index 997d9921c5bd..46a57f74f3e0 100644 --- a/pkgs/development/python-modules/arviz/default.nix +++ b/pkgs/development/python-modules/arviz/default.nix @@ -84,13 +84,15 @@ buildPythonPackage rec { zarr ]; - pytestFlagsArray = [ + enabledTestPaths = [ "arviz/tests/base_tests/" + ]; + disabledTestPaths = [ # AttributeError: module 'zarr.storage' has no attribute 'DirectoryStore' # https://github.com/arviz-devs/arviz/issues/2357 - "--deselect=arviz/tests/base_tests/test_data_zarr.py::TestDataZarr::test_io_function" - "--deselect=arviz/tests/base_tests/test_data_zarr.py::TestDataZarr::test_io_method" + "arviz/tests/base_tests/test_data_zarr.py::TestDataZarr::test_io_function" + "arviz/tests/base_tests/test_data_zarr.py::TestDataZarr::test_io_method" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix index 9bb1ac4f3545..18a6d7c98494 100644 --- a/pkgs/development/python-modules/autobahn/default.nix +++ b/pkgs/development/python-modules/autobahn/default.nix @@ -74,11 +74,14 @@ buildPythonPackage rec { export USE_ASYNCIO=1 ''; - pytestFlagsArray = [ - "--ignore=./autobahn/twisted" + enabledTestPaths = [ "./autobahn" ]; + disabledTestPaths = [ + "./autobahn/twisted" + ]; + pythonImportsCheck = [ "autobahn" ]; optional-dependencies = lib.fix (self: { diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix index 094824ae06e9..76bfc2a42dd4 100644 --- a/pkgs/development/python-modules/automat/default.nix +++ b/pkgs/development/python-modules/automat/default.nix @@ -32,7 +32,7 @@ let pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; # escape infinite recursion with twisted doCheck = false; diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix index 9d32314de912..b0b56f38cba2 100644 --- a/pkgs/development/python-modules/aws-sam-translator/default.nix +++ b/pkgs/development/python-modules/aws-sam-translator/default.nix @@ -57,9 +57,12 @@ buildPythonPackage rec { export AWS_DEFAULT_REGION=us-east-1 ''; - pytestFlagsArray = [ + enabledTestPaths = [ "tests" - ''-m "not slow"'' + ]; + + disabledTestMarks = [ + "slow" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/ax-platform/default.nix b/pkgs/development/python-modules/ax-platform/default.nix index 96e9efae793e..771c02cb87d8 100644 --- a/pkgs/development/python-modules/ax-platform/default.nix +++ b/pkgs/development/python-modules/ax-platform/default.nix @@ -66,10 +66,6 @@ buildPythonPackage rec { sqlalchemy tabulate ]; - pytestFlagsArray = [ - # Hangs forever - "--deselect=ax/analysis/plotly/tests/test_top_surfaces.py::TestTopSurfacesAnalysis::test_online" - ]; disabledTestPaths = [ "ax/benchmark" @@ -80,6 +76,9 @@ buildPythonPackage rec { "ax/service/tests/test_ax_client.py" "ax/service/tests/test_scheduler.py" "ax/service/tests/test_with_db_settings_base.py" + + # Hangs forever + "ax/analysis/plotly/tests/test_top_surfaces.py::TestTopSurfacesAnalysis::test_online" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/beaker/default.nix b/pkgs/development/python-modules/beaker/default.nix index 1549b07e73bf..145875bd4dcb 100644 --- a/pkgs/development/python-modules/beaker/default.nix +++ b/pkgs/development/python-modules/beaker/default.nix @@ -57,9 +57,9 @@ buildPythonPackage rec { # Can not run memcached tests because it immediately tries to connect. # Disable external tests because they need to connect to a live database. - pytestFlagsArray = [ - "--ignore=tests/test_memcached.py" - "--ignore-glob='tests/test_managers/test_ext_*'" + disabledTestPaths = [ + "tests/test_memcached.py" + "tests/test_managers/test_ext_*" ]; meta = { diff --git a/pkgs/development/python-modules/beancount-plugin-utils/default.nix b/pkgs/development/python-modules/beancount-plugin-utils/default.nix index 01fb3178182c..d4a6446dceea 100644 --- a/pkgs/development/python-modules/beancount-plugin-utils/default.nix +++ b/pkgs/development/python-modules/beancount-plugin-utils/default.nix @@ -31,7 +31,11 @@ buildPythonPackage rec { regex ]; - pytestFlagsArray = [ "--fixtures tests/" ]; + pytestFlags = [ "--fixtures" ]; + + enabledTestPaths = [ + "tests/" + ]; pythonImportsCheck = [ "beancount" ]; diff --git a/pkgs/development/python-modules/boost-histogram/default.nix b/pkgs/development/python-modules/boost-histogram/default.nix index 610674ea032a..11e569659ab8 100644 --- a/pkgs/development/python-modules/boost-histogram/default.nix +++ b/pkgs/development/python-modules/boost-histogram/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { pytest-benchmark ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ # Segfaults: boost_histogram/_internal/hist.py", line 799 in sum diff --git a/pkgs/development/python-modules/bork/default.nix b/pkgs/development/python-modules/bork/default.nix index ca8aa97d37c8..83a8c6ccc59f 100644 --- a/pkgs/development/python-modules/bork/default.nix +++ b/pkgs/development/python-modules/bork/default.nix @@ -56,7 +56,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; disabledTests = [ # tries to call python -m bork diff --git a/pkgs/development/python-modules/bytewax/default.nix b/pkgs/development/python-modules/bytewax/default.nix index 97f471f7fa09..af9d0540db5f 100644 --- a/pkgs/development/python-modules/bytewax/default.nix +++ b/pkgs/development/python-modules/bytewax/default.nix @@ -85,8 +85,11 @@ buildPythonPackage rec { ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" + ]; + + enabledTestPaths = [ "pytests" ]; diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix index 5cb9396b9d0f..cf08abf5766c 100644 --- a/pkgs/development/python-modules/canmatrix/default.nix +++ b/pkgs/development/python-modules/canmatrix/default.nix @@ -59,9 +59,13 @@ buildPythonPackage rec { ] ++ lib.flatten (builtins.attrValues optional-dependencies); - pytestFlagsArray = [ + pytestFlags = [ # long_envvar_name_imports requires stable key value pair ordering - "-s src/canmatrix" + "-s" + ]; + + enabledTestPaths = [ + "src/canmatrix" "tests/" ]; diff --git a/pkgs/development/python-modules/cartopy/default.nix b/pkgs/development/python-modules/cartopy/default.nix index 42cc8eeeb169..fc842ff4fd4c 100644 --- a/pkgs/development/python-modules/cartopy/default.nix +++ b/pkgs/development/python-modules/cartopy/default.nix @@ -77,11 +77,14 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; - pytestFlagsArray = [ + pytestFlags = [ "--pyargs" "cartopy" - "-m" - "'not network and not natural_earth'" + ]; + + disabledTestMarks = [ + "network" + "natural_earth" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index 415e9292d3c5..7d4704c7917a 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -10,16 +10,16 @@ buildPythonPackage rec { pname = "certifi"; - version = "2025.04.26"; + version = "2025.06.15"; pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { - owner = pname; + owner = "certifi"; repo = "python-certifi"; rev = version; - hash = "sha256-OJ/XzywazpG0QpGTjTcLv1tDSqVdVP7xvp/tnyPPZzQ="; + hash = "sha256-ah2a+Qspll3jZ8M7CRL7zhTIt2kuRIiWeI6vTgwb3vs="; }; patches = [ diff --git a/pkgs/development/python-modules/certifi/env.patch b/pkgs/development/python-modules/certifi/env.patch index 97a48b46e05f..332087802b1a 100644 --- a/pkgs/development/python-modules/certifi/env.patch +++ b/pkgs/development/python-modules/certifi/env.patch @@ -1,5 +1,5 @@ diff --git a/certifi/core.py b/certifi/core.py -index 91f538b..1110ce0 100644 +index 1c9661c..7039be3 100644 --- a/certifi/core.py +++ b/certifi/core.py @@ -4,6 +4,7 @@ certifi.py @@ -41,8 +41,8 @@ index 91f538b..1110ce0 100644 + return open(_CACERT_PATH, encoding="utf-8").read() return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") - elif sys.version_info >= (3, 7): -@@ -51,7 +63,7 @@ elif sys.version_info >= (3, 7): + else: +@@ -51,7 +63,7 @@ else: from importlib.resources import path as get_path, read_text _CACERT_CTX = None @@ -51,37 +51,3 @@ index 91f538b..1110ce0 100644 def where() -> str: # This is slightly terrible, but we want to delay extracting the -@@ -80,7 +92,9 @@ elif sys.version_info >= (3, 7): - return _CACERT_PATH - - def contents() -> str: -- return read_text("certifi", "cacert.pem", encoding="ascii") -+ if _CACERT_PATH is not None: -+ return open(_CACERT_PATH, encoding="utf-8").read() -+ return read_text("certifi", "cacert.pem", encoding="utf-8") - - else: - import os -@@ -90,6 +104,8 @@ else: - Package = Union[types.ModuleType, str] - Resource = Union[str, "os.PathLike"] - -+ _CACERT_PATH = get_cacert_path_from_environ() -+ - # This fallback will work for Python versions prior to 3.7 that lack the - # importlib.resources module but relies on the existing `where` function - # so won't address issues with environments like PyOxidizer that don't set -@@ -108,7 +124,13 @@ else: - def where() -> str: - f = os.path.dirname(__file__) - -+ if _CACERT_PATH is not None: -+ return _CACERT_PATH -+ - return os.path.join(f, "cacert.pem") - - def contents() -> str: -+ if _CACERT_PATH is not None: -+ with open(_CACERT_PATH, encoding="utf-8") as data: -+ return data.read() - return read_text("certifi", "cacert.pem", encoding="ascii") diff --git a/pkgs/development/python-modules/curl-cffi/default.nix b/pkgs/development/python-modules/curl-cffi/default.nix index 6ba6faedf147..6294177d069e 100644 --- a/pkgs/development/python-modules/curl-cffi/default.nix +++ b/pkgs/development/python-modules/curl-cffi/default.nix @@ -74,10 +74,13 @@ buildPythonPackage rec { rm -r curl_cffi ''; - pytestFlags = [ + enabledTestPaths = [ "tests/unittest" + ]; + + disabledTestPaths = [ # test accesses network - "--deselect tests/unittest/test_smoke.py::test_async" + "tests/unittest/test_smoke.py::test_async" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix index 66aba313253c..9322d3c03aba 100644 --- a/pkgs/development/python-modules/dask/default.nix +++ b/pkgs/development/python-modules/dask/default.nix @@ -111,11 +111,14 @@ buildPythonPackage rec { ++ optional-dependencies.dataframe; versionCheckProgramArg = "--version"; - pytestFlagsArray = [ + pytestFlags = [ # Rerun failed tests up to three times - "--reruns 3" + "--reruns=3" + ]; + + disabledTestMarks = [ # Don't run tests that require network access - "-m 'not network'" + "network" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix index 10bd7e91037b..61bd43a42884 100644 --- a/pkgs/development/python-modules/datasette/default.nix +++ b/pkgs/development/python-modules/datasette/default.nix @@ -87,13 +87,15 @@ buildPythonPackage rec { trustme ]; + pytestFlags = [ + # datasette/app.py:14: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html + "-Wignore::DeprecationWarning" + ]; + # takes 30-180 mins to run entire test suite, not worth the CPU resources, slows down reviews # with pytest-xdist, it still takes around 10 mins with 32 cores # just run the csv tests, as this should give some indictation of correctness - pytestFlagsArray = [ - # datasette/app.py:14: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html - "-W" - "ignore::DeprecationWarning" + enabledTestPaths = [ "tests/test_csv.py" ]; diff --git a/pkgs/development/python-modules/deltalake/default.nix b/pkgs/development/python-modules/deltalake/default.nix index f1b529a35f63..d889edd86b69 100644 --- a/pkgs/development/python-modules/deltalake/default.nix +++ b/pkgs/development/python-modules/deltalake/default.nix @@ -76,9 +76,12 @@ buildPythonPackage rec { rm -rf deltalake ''; - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" - "-m 'not integration'" + ]; + + disabledTestMarks = [ + "integration" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix index e45af5102e64..9421cb355a0c 100644 --- a/pkgs/development/python-modules/devito/default.nix +++ b/pkgs/development/python-modules/devito/default.nix @@ -74,37 +74,14 @@ buildPythonPackage rec { scipy ]; - pytestFlagsArray = [ + pytestFlags = [ "-x" + ]; + + disabledTestMarks = [ # Tests marked as 'parallel' require mpi and fail in the sandbox: # FileNotFoundError: [Errno 2] No such file or directory: 'mpiexec' - "-m 'not parallel'" - ] - ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - # assert np.all(f.data == check) - # assert Data(False) - "--deselect tests/test_data.py::TestDataReference::test_w_data" - - # AssertionError: assert 'omp for schedule(dynamic,1)' == 'omp for coll...le(dynamic,1)' - "--deselect tests/test_dle.py::TestNestedParallelism::test_nested_cache_blocking_structure_subdims" - - # codepy.CompileError: module compilation failed - # FAILED compiler invocation - "--deselect tests/test_dle.py::TestNodeParallelism::test_dynamic_nthreads" - - # AssertionError: assert all(not i.pragmas for i in iters[2:]) - "--deselect tests/test_dle.py::TestNodeParallelism::test_incr_perfect_sparse_outer" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # IndexError: tuple index out of range - "--deselect tests/test_dle.py::TestNestedParallelism" - - # codepy.CompileError: module compilation failed - "--deselect tests/test_autotuner.py::test_nested_nthreads" - - # assert np.all(np.isclose(f0.data, check0)) - # assert Data(false) - "--deselect tests/test_interpolation.py::TestSubDomainInterpolation::test_inject_subdomain" + "parallel" ]; disabledTests = [ @@ -142,7 +119,33 @@ buildPythonPackage rec { [ # Flaky: codepy.CompileError: module compilation failed "tests/test_dse.py" - ]; + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + # assert np.all(f.data == check) + # assert Data(False) + "tests/test_data.py::TestDataReference::test_w_data" + + # AssertionError: assert 'omp for schedule(dynamic,1)' == 'omp for coll...le(dynamic,1)' + "tests/test_dle.py::TestNestedParallelism::test_nested_cache_blocking_structure_subdims" + + # codepy.CompileError: module compilation failed + # FAILED compiler invocation + "tests/test_dle.py::TestNodeParallelism::test_dynamic_nthreads" + + # AssertionError: assert all(not i.pragmas for i in iters[2:]) + "tests/test_dle.py::TestNodeParallelism::test_incr_perfect_sparse_outer" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # IndexError: tuple index out of range + "tests/test_dle.py::TestNestedParallelism" + + # codepy.CompileError: module compilation failed + "tests/test_autotuner.py::test_nested_nthreads" + + # assert np.all(np.isclose(f0.data, check0)) + # assert Data(false) + "tests/test_interpolation.py::TestSubDomainInterpolation::test_inject_subdomain" + ]; pythonImportsCheck = [ "devito" ]; diff --git a/pkgs/development/python-modules/diceware/default.nix b/pkgs/development/python-modules/diceware/default.nix index 8bdf831cc580..6eaaf2362413 100644 --- a/pkgs/development/python-modules/diceware/default.nix +++ b/pkgs/development/python-modules/diceware/default.nix @@ -25,9 +25,9 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ + disabledTestMarks = [ # see https://github.com/ulif/diceware/commit/a7d844df76cd4b95a717f21ef5aa6167477b6733 - "-m 'not packaging'" + "packaging" ]; pythonImportsCheck = [ "diceware" ]; diff --git a/pkgs/development/python-modules/diofant/default.nix b/pkgs/development/python-modules/diofant/default.nix index fc1bbff2f9de..696e8e4e63ad 100644 --- a/pkgs/development/python-modules/diofant/default.nix +++ b/pkgs/development/python-modules/diofant/default.nix @@ -55,12 +55,6 @@ buildPythonPackage rec { doCheck = false; # some tests get stuck easily - pytestFlagsArray = [ - "-W" - "ignore::DeprecationWarning" - "-m 'not slow'" - ]; - nativeCheckInputs = [ hypothesis pexpect @@ -69,6 +63,14 @@ buildPythonPackage rec { pytestCheckHook ]; + pytestFlags = [ + "-Wignore::DeprecationWarning" + ]; + + disabledTestMarks = [ + "slow" + ]; + disabledTests = [ # AssertionError: assert '9.9012134805...5147838841057' == '2.7182818284...2178525166427' "test_evalf_fast_series" diff --git a/pkgs/development/python-modules/dj-stripe/default.nix b/pkgs/development/python-modules/dj-stripe/default.nix new file mode 100644 index 000000000000..ec8fed73a89e --- /dev/null +++ b/pkgs/development/python-modules/dj-stripe/default.nix @@ -0,0 +1,122 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + django, + stripe, + mysqlclient, + psycopg2, + pytest-django, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "dj-stripe"; + version = "2.9.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dj-stripe"; + repo = "dj-stripe"; + tag = version; + hash = "sha256-ijTzSid5B79mAi7qUFSGL5+4PfmBStDWayzjW1iwRww="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + django + stripe + ]; + + passthru.optional-dependencies = { + mysql = [ mysqlclient ]; + postgres = [ psycopg2 ]; + }; + + env = { + DJANGO_SETTINGS_MODULE = "tests.settings"; + DJSTRIPE_TEST_DB_VENDOR = "sqlite"; + }; + + nativeCheckInputs = [ + pytest-django + pytestCheckHook + ]; + + disabledTestPaths = [ + "tests/test_customer.py::TestCustomer::test_customer_sync_unsupported_source" + "tests/test_customer.py::TestCustomer::test_upcoming_invoice_plan" + "tests/test_customer.py::TestCustomerLegacy::test_upcoming_invoice" + "tests/test_event_handlers.py::TestCustomerEvents::test_customer_default_source_deleted" + "tests/test_event_handlers.py::TestCustomerEvents::test_customer_deleted" + "tests/test_event_handlers.py::TestCustomerEvents::test_customer_source_double_delete" + "tests/test_event_handlers.py::TestPlanEvents::test_plan_created" + "tests/test_event_handlers.py::TestPlanEvents::test_plan_deleted" + "tests/test_event_handlers.py::TestPlanEvents::test_plan_updated_request_object" + "tests/test_event_handlers.py::TestTaxIdEvents::test_tax_id_created" + "tests/test_event_handlers.py::TestTaxIdEvents::test_tax_id_deleted" + "tests/test_event_handlers.py::TestTaxIdEvents::test_tax_id_updated" + "tests/test_invoice.py::InvoiceTest::test_upcoming_invoice" + "tests/test_invoice.py::InvoiceTest::test_upcoming_invoice_with_subscription" + "tests/test_invoice.py::InvoiceTest::test_upcoming_invoice_with_subscription_plan" + "tests/test_invoice.py::TestInvoiceDecimal::test_decimal_tax_percent" + "tests/test_plan.py::PlanCreateTest::test_create_from_djstripe_product" + "tests/test_plan.py::PlanCreateTest::test_create_from_product_id" + "tests/test_plan.py::PlanCreateTest::test_create_from_stripe_product" + "tests/test_plan.py::PlanCreateTest::test_create_with_metadata" + "tests/test_price.py::PriceCreateTest::test_create_from_djstripe_product" + "tests/test_price.py::PriceCreateTest::test_create_from_product_id" + "tests/test_price.py::PriceCreateTest::test_create_from_stripe_product" + "tests/test_price.py::PriceCreateTest::test_create_with_metadata" + "tests/test_settings.py::TestSubscriberModelRetrievalMethod::test_bad_callback" + "tests/test_settings.py::TestSubscriberModelRetrievalMethod::test_no_callback" + "tests/test_settings.py::TestStripeApiVersion::test_global_stripe_api_version" + "tests/test_subscription.py::TestSubscriptionDecimal::test_decimal_application_fee_percent" + "tests/test_tax_id.py::TestTaxIdStr::test___str__" + "tests/test_tax_id.py::TestTransfer::test__api_create" + "tests/test_tax_id.py::TestTransfer::test__api_create_no_customer" + "tests/test_tax_id.py::TestTransfer::test__api_create_no_id_kwarg" + "tests/test_tax_id.py::TestTransfer::test_api_list" + "tests/test_tax_id.py::TestTransfer::test_api_retrieve" + "tests/test_tax_rates.py::TestTaxRateDecimal::test_decimal_tax_percent" + "tests/test_transfer_reversal.py::TestTransfer::test_api_list" + "tests/test_transfer_reversal.py::TestTransfer::test_api_retrieve" + "tests/test_usage_record.py::TestUsageRecord::test___str__" + "tests/test_usage_record.py::TestUsageRecord::test__api_create" + "tests/test_usage_record_summary.py::TestUsageRecordSummary::test___str__" + "tests/test_usage_record_summary.py::TestUsageRecordSummary::test_api_list" + "tests/test_usage_record_summary.py::TestUsageRecordSummary::test_sync_from_stripe_data" + "tests/test_views.py::TestConfirmCustomActionView::test__cancel_subscription_instances_stripe_invalid_request_error" + "tests/test_views.py::TestConfirmCustomActionView::test__release_subscription_schedule_stripe_invalid_request_error" + "tests/test_views.py::TestConfirmCustomActionView::test__cancel_subscription_schedule_stripe_invalid_request_error" + "tests/test_webhooks.py::TestWebhookEventTrigger::test___str__" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_error" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_good_connect_account" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_good_platform_account" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_invalid_verify_signature_fail" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_no_signature" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_no_validation_pass" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_remote_addr_is_empty_string" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_remote_addr_is_none" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_reraise_exception" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_retrieve_event_fail" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_retrieve_event_pass" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_test_event" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_verify_signature_pass" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_with_custom_callback" + "tests/test_webhooks.py::TestWebhookEventTrigger::test_webhook_with_transfer_event_duplicate" + "tests/test_webhooks.py::TestGetRemoteIp::test_get_remote_ip_remote_addr_is_none" + ]; + + pythonImportsCheck = [ "djstripe" ]; + + meta = { + description = "Stripe Models for Django"; + homepage = "https://github.com/dj-stripe/dj-stripe"; + changelog = "https://github.com/dj-stripe/dj-stripe/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + }; +} diff --git a/pkgs/development/python-modules/django-crispy-forms/default.nix b/pkgs/development/python-modules/django-crispy-forms/default.nix index 6a353b2776dc..95a359023de2 100644 --- a/pkgs/development/python-modules/django-crispy-forms/default.nix +++ b/pkgs/development/python-modules/django-crispy-forms/default.nix @@ -33,8 +33,11 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ + pytestFlags = [ "--ds=crispy_forms.tests.test_settings" + ]; + + enabledTestPaths = [ "crispy_forms/tests/" ]; diff --git a/pkgs/development/python-modules/django-q2/default.nix b/pkgs/development/python-modules/django-q2/default.nix index 09370355b3f5..b520ea436776 100644 --- a/pkgs/development/python-modules/django-q2/default.nix +++ b/pkgs/development/python-modules/django-q2/default.nix @@ -98,7 +98,7 @@ buildPythonPackage rec { "django_q/tests/test_commands.py" ]; - pytestFlagsArray = [ "-vv" ]; + pytestFlags = [ "-vv" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/django-redis/default.nix b/pkgs/development/python-modules/django-redis/default.nix index e6e3356b600f..c50ecf553d7f 100644 --- a/pkgs/development/python-modules/django-redis/default.nix +++ b/pkgs/development/python-modules/django-redis/default.nix @@ -68,9 +68,8 @@ buildPythonPackage rec { # https://github.com/jazzband/django-redis/issues/777 dontUsePytestXdist = true; - pytestFlagsArray = [ - "-W" - "ignore::DeprecationWarning" + pytestFlags = [ + "-Wignore::DeprecationWarning" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/dotwiz/default.nix b/pkgs/development/python-modules/dotwiz/default.nix index 03376177ebd3..ab11cac578f0 100644 --- a/pkgs/development/python-modules/dotwiz/default.nix +++ b/pkgs/development/python-modules/dotwiz/default.nix @@ -27,9 +27,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "dotwiz" ]; - pytestFlagsArray = [ - "--ignore=benchmarks" - "--ignore-glob=*integration*" + disabledTestPaths = [ + "benchmarks" + "integration*" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/dtw-python/default.nix b/pkgs/development/python-modules/dtw-python/default.nix index b613bb819028..6bdadfac010d 100644 --- a/pkgs/development/python-modules/dtw-python/default.nix +++ b/pkgs/development/python-modules/dtw-python/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { # We need to run tests on real built package: https://github.com/NixOS/nixpkgs/issues/255262 # tests/ are not included to output package, so we have to set path explicitly preCheck = '' - appendToVar pytestFlagsArray "$src/tests" + appendToVar enabledTestPaths "$src/tests" cd $out ''; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/duckdb-engine/default.nix b/pkgs/development/python-modules/duckdb-engine/default.nix index 346fba1a7739..dce30d2ab443 100644 --- a/pkgs/development/python-modules/duckdb-engine/default.nix +++ b/pkgs/development/python-modules/duckdb-engine/default.nix @@ -62,16 +62,15 @@ buildPythonPackage rec { snapshottest ]; - pytestFlagsArray = [ - "-m" - "'not remote_data'" - ]; - disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [ # requires snapshottest "duckdb_engine/tests/test_datatypes.py" ]; + disabledTestMarks = [ + "remote_data" + ]; + disabledTests = [ # user agent not available in nixpkgs "test_user_agent" diff --git a/pkgs/development/python-modules/duckdb/default.nix b/pkgs/development/python-modules/duckdb/default.nix index e88141bd894f..b6b59ab67f26 100644 --- a/pkgs/development/python-modules/duckdb/default.nix +++ b/pkgs/development/python-modules/duckdb/default.nix @@ -64,8 +64,11 @@ buildPythonPackage rec { pytestCheckHook ]; + pytestFlags = [ "--verbose" ]; + # test flags from .github/workflows/Python.yml - pytestFlagsArray = [ "tests/fast" ]; + pytestFlagsArray = [ "--verbose" ]; + enabledTestPaths = if stdenv.hostPlatform.isDarwin then [ "tests/fast" ] else [ "tests" ]; disabledTestPaths = [ # avoid dependency on mypy diff --git a/pkgs/development/python-modules/f5-icontrol-rest/default.nix b/pkgs/development/python-modules/f5-icontrol-rest/default.nix index a6e342fb14ca..2ea25246e63a 100644 --- a/pkgs/development/python-modules/f5-icontrol-rest/default.nix +++ b/pkgs/development/python-modules/f5-icontrol-rest/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { # needs to be updated to newer pytest version and requires physical device doCheck = false; - pytestFlags = [ "icontrol/test" ]; + enabledTestPaths = [ "icontrol/test" ]; pythonImportsCheck = [ "icontrol" ]; diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix index e02a83d91c09..6ae251e20af2 100644 --- a/pkgs/development/python-modules/faker/default.nix +++ b/pkgs/development/python-modules/faker/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { ]; # avoid tests which import random2, an abandoned library - pytestFlagsArray = [ "--ignore=tests/providers/test_ssn.py" ]; + disabledTestPaths = [ "tests/providers/test_ssn.py" ]; pythonImportsCheck = [ "faker" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix index 4ad025d29c9f..78151cd6f485 100644 --- a/pkgs/development/python-modules/fakeredis/default.nix +++ b/pkgs/development/python-modules/fakeredis/default.nix @@ -55,7 +55,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "fakeredis" ]; - pytestFlagsArray = [ "-m 'not slow'" ]; + disabledTestMarks = [ "slow" ]; preCheck = '' redisTestPort=6390 diff --git a/pkgs/development/python-modules/fastcrc/default.nix b/pkgs/development/python-modules/fastcrc/default.nix index 08f3ecacb279..94c4fed846b0 100644 --- a/pkgs/development/python-modules/fastcrc/default.nix +++ b/pkgs/development/python-modules/fastcrc/default.nix @@ -42,7 +42,7 @@ buildPythonPackage { pytest-benchmark ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; # Python source files interfere with testing preCheck = '' diff --git a/pkgs/development/python-modules/fastjsonschema/default.nix b/pkgs/development/python-modules/fastjsonschema/default.nix index e37eb286bb3f..ae2d51d9e9f4 100644 --- a/pkgs/development/python-modules/fastjsonschema/default.nix +++ b/pkgs/development/python-modules/fastjsonschema/default.nix @@ -37,9 +37,9 @@ buildPythonPackage rec { "test_compile_to_code_custom_format" # cannot import temporary module created during test ]; - pytestFlagsArray = [ + disabledTestPaths = [ # fastjsonschema.exceptions.JsonSchemaDefinitionException: Unknown format uuid/duration - "--deselect=tests/json_schema/test_draft2019.py::test" + "tests/json_schema/test_draft2019.py::test" ]; pythonImportsCheck = [ "fastjsonschema" ]; diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix index 9e671f9ced9a..5c3b15d96bef 100644 --- a/pkgs/development/python-modules/fiona/default.nix +++ b/pkgs/development/python-modules/fiona/default.nix @@ -76,10 +76,10 @@ buildPythonPackage rec { rm -r fiona # prevent importing local fiona ''; - pytestFlagsArray = [ + disabledTestMarks = [ # Tests with gdal marker do not test the functionality of Fiona, # but they are used to check GDAL driver capabilities. - "-m 'not gdal'" + "gdal" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/firedrake-fiat/default.nix b/pkgs/development/python-modules/firedrake-fiat/default.nix index 45fbe6ad8841..10f348818690 100644 --- a/pkgs/development/python-modules/firedrake-fiat/default.nix +++ b/pkgs/development/python-modules/firedrake-fiat/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ + pytestFlags = [ "--skip-download" ]; diff --git a/pkgs/development/python-modules/flask-dramatiq/default.nix b/pkgs/development/python-modules/flask-dramatiq/default.nix index ddec3bb3994c..1be6b757ec38 100644 --- a/pkgs/development/python-modules/flask-dramatiq/default.nix +++ b/pkgs/development/python-modules/flask-dramatiq/default.nix @@ -62,8 +62,11 @@ buildPythonPackage { python3 ./example.py db upgrade ''; - pytestFlagsArray = [ + pytestFlags = [ "-x" + ]; + + disabledTestPaths = [ "tests/func/" "tests/unit" ]; diff --git a/pkgs/development/python-modules/flask-restx/default.nix b/pkgs/development/python-modules/flask-restx/default.nix index cc8471342438..5cd62ec8797e 100644 --- a/pkgs/development/python-modules/flask-restx/default.nix +++ b/pkgs/development/python-modules/flask-restx/default.nix @@ -60,14 +60,16 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" - "--deselect=tests/test_inputs.py::URLTest::test_check" - "--deselect=tests/test_inputs.py::EmailTest::test_valid_value_check" - "--deselect=tests/test_logging.py::LoggingTest::test_override_app_level" + ]; + disabledTestPaths = [ + "tests/test_inputs.py::URLTest::test_check" + "tests/test_inputs.py::EmailTest::test_valid_value_check" + "tests/test_logging.py::LoggingTest::test_override_app_level" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--deselect=tests/test_inputs.py::EmailTest::test_invalid_values_check" + "tests/test_inputs.py::EmailTest::test_invalid_values_check" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/flask-unsign/default.nix b/pkgs/development/python-modules/flask-unsign/default.nix index 970e7ddb9c9d..5fddee23c387 100644 --- a/pkgs/development/python-modules/flask-unsign/default.nix +++ b/pkgs/development/python-modules/flask-unsign/default.nix @@ -37,7 +37,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "flask_unsign" ]; - pytestFlagsArray = [ "tests/flask_unsign.py" ]; + enabledTestPaths = [ "tests/flask_unsign.py" ]; meta = { description = "Command line tool to fetch, decode, brute-force and craft session cookies of Flask applications"; diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix index 0ddc30d8fe1c..bad48ac61bc5 100644 --- a/pkgs/development/python-modules/flax/default.nix +++ b/pkgs/development/python-modules/flax/default.nix @@ -83,11 +83,10 @@ buildPythonPackage rec { tensorflow ]; - pytestFlagsArray = [ - "-W" + pytestFlags = [ # DeprecationWarning: Triggering of __jax_array__() during abstractification is deprecated. # To avoid this error, either explicitly convert your object using jax.numpy.array(), or register your object as a pytree. - "ignore::DeprecationWarning" + "-Wignore::DeprecationWarning" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/geodatasets/default.nix b/pkgs/development/python-modules/geodatasets/default.nix index f9f93fff2be5..c6f941755078 100644 --- a/pkgs/development/python-modules/geodatasets/default.nix +++ b/pkgs/development/python-modules/geodatasets/default.nix @@ -38,9 +38,9 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; - pytestFlagsArray = [ + disabledTestMarks = [ # disable tests which require network access - "-m 'not request'" + "request" ]; pythonImportsCheck = [ "geodatasets" ]; diff --git a/pkgs/development/python-modules/getmac/default.nix b/pkgs/development/python-modules/getmac/default.nix index 9e6149fa77ac..3915b8ebf488 100644 --- a/pkgs/development/python-modules/getmac/default.nix +++ b/pkgs/development/python-modules/getmac/default.nix @@ -45,7 +45,7 @@ buildPythonPackage rec { "test_initialize_method_cache_valid_types" ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "getmac" ]; diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix index cdcfe2a80f1f..8e6f94e0bef7 100644 --- a/pkgs/development/python-modules/geventhttpclient/default.nix +++ b/pkgs/development/python-modules/geventhttpclient/default.nix @@ -48,7 +48,7 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; pythonImportsCheck = [ "geventhttpclient" ]; diff --git a/pkgs/development/python-modules/gilknocker/default.nix b/pkgs/development/python-modules/gilknocker/default.nix index 06e0376e50d7..fb6b432f3131 100644 --- a/pkgs/development/python-modules/gilknocker/default.nix +++ b/pkgs/development/python-modules/gilknocker/default.nix @@ -54,7 +54,7 @@ buildPythonPackage rec { pytest-rerunfailures ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; meta = { description = "Knock on the Python GIL, determine how busy it is"; diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix index d54e740fbdce..1990720e3159 100644 --- a/pkgs/development/python-modules/google-auth/default.nix +++ b/pkgs/development/python-modules/google-auth/default.nix @@ -82,6 +82,9 @@ buildPythonPackage rec { "system_tests/" # Requires a running aiohttp event loop "tests_async/" + + # cryptography 44 compat issue + "tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success" ]; pythonImportsCheck = [ @@ -89,11 +92,6 @@ buildPythonPackage rec { "google.oauth2" ]; - pytestFlagsArray = [ - # cryptography 44 compat issue - "--deselect=tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success" - ]; - __darwinAllowLocalNetworking = true; meta = { diff --git a/pkgs/development/python-modules/gpuctypes/default.nix b/pkgs/development/python-modules/gpuctypes/default.nix index 0b7cd65334a8..d4669e89e001 100644 --- a/pkgs/development/python-modules/gpuctypes/default.nix +++ b/pkgs/development/python-modules/gpuctypes/default.nix @@ -71,16 +71,15 @@ buildPythonPackage rec { ++ lib.optionals (!cudaSupport) [ "test/test_cuda.py" ]; # Require GPU access to run (not available in the sandbox) - pytestFlagsArray = + disabledTests = lib.optionals (!testCudaRuntime) [ - "-k" - "'not TestCUDADevice'" + "TestCUDADevice" ] ++ lib.optionals (!testRocmRuntime) [ - "-k" - "'not TestHIPDevice'" - ] - ++ lib.optionals (testCudaRuntime || testOpenclRuntime || testRocmRuntime) [ "-v" ]; + "TestHIPDevice" + ]; + + pytestFlags = lib.optionals (testCudaRuntime || testOpenclRuntime || testRocmRuntime) [ "-v" ]; # Running these tests requires special configuration on the builder. # e.g. https://github.com/NixOS/nixpkgs/pull/256230 implements a nix diff --git a/pkgs/development/python-modules/gql/default.nix b/pkgs/development/python-modules/gql/default.nix index 31b82be1521b..42141609db83 100644 --- a/pkgs/development/python-modules/gql/default.nix +++ b/pkgs/development/python-modules/gql/default.nix @@ -83,9 +83,12 @@ buildPythonPackage rec { export PATH=$out/bin:$PATH ''; - pytestFlagsArray = [ + pytestFlags = [ "--asyncio-mode=auto" - "-m 'not online'" + ]; + + disabledTestMarks = [ + "online" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/gradio/client.nix b/pkgs/development/python-modules/gradio/client.nix index 226084ae04a7..8b87b869877e 100644 --- a/pkgs/development/python-modules/gradio/client.nix +++ b/pkgs/development/python-modules/gradio/client.nix @@ -86,10 +86,16 @@ buildPythonPackage rec { cat ${./conftest-skip-network-errors.py} >> test/conftest.py ''; - pytestFlagsArray = [ + pytestFlags = [ + #"-x" "-Wignore" # uncomment for debugging help + ]; + + enabledTestPaths = [ "test/" - "-m 'not flaky'" - #"-x" "-W" "ignore" # uncomment for debugging help + ]; + + disabledTestMarks = [ + "flaky" ]; disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index 2dc0150bb019..faafbae3e653 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -329,10 +329,13 @@ buildPythonPackage rec { "test/test_docker/test_reverse_proxy_root_path/test_reverse_proxy_root_path.py" ]; - pytestFlagsArray = [ + disabledTestMarks = [ + "flaky" + ]; + + pytestFlags = [ "-x" # abort on first failure - "-m 'not flaky'" - #"-W" "ignore" # uncomment for debugging help + #"-Wignore" # uncomment for debugging help ]; # check the binary works outside the build env diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix index 1d1966183540..fa1aa996d623 100644 --- a/pkgs/development/python-modules/graphql-core/default.nix +++ b/pkgs/development/python-modules/graphql-core/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "graphql" ]; diff --git a/pkgs/development/python-modules/graspologic/default.nix b/pkgs/development/python-modules/graspologic/default.nix index 7833df472eb7..bf443cb2d9e7 100644 --- a/pkgs/development/python-modules/graspologic/default.nix +++ b/pkgs/development/python-modules/graspologic/default.nix @@ -73,14 +73,18 @@ buildPythonPackage rec { pytestCheckHook testfixtures ]; - pytestFlagsArray = [ + + enabledTestPaths = [ "tests" - "--ignore=docs" - "--ignore=tests/test_sklearn.py" ]; + disabledTests = [ "gridplot_outputs" ]; - disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + disabledTestPaths = [ + "docs" + "tests/test_sklearn.py" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ # SIGABRT "tests/test_plot.py" "tests/test_plot_matrix.py" diff --git a/pkgs/development/python-modules/great-expectations/default.nix b/pkgs/development/python-modules/great-expectations/default.nix index d01714eb2187..ca563093c75e 100644 --- a/pkgs/development/python-modules/great-expectations/default.nix +++ b/pkgs/development/python-modules/great-expectations/default.nix @@ -120,6 +120,12 @@ buildPythonPackage rec { "tests/render" ]; + disabledTestMarks = [ + "postgresql" + "snowflake" + "spark" + ]; + disabledTests = [ # tries to access network: "test_checkpoint_run_with_data_docs_and_slack_actions_emit_page_links" @@ -127,7 +133,6 @@ buildPythonPackage rec { ]; pythonImportsCheck = [ "great_expectations" ]; - pytestFlagsArray = [ "-m 'not spark and not postgresql and not snowflake'" ]; meta = { broken = true; # 408 tests fail diff --git a/pkgs/development/python-modules/gremlinpython/default.nix b/pkgs/development/python-modules/gremlinpython/default.nix index dce3effc7cb1..78effa31c6cb 100644 --- a/pkgs/development/python-modules/gremlinpython/default.nix +++ b/pkgs/development/python-modules/gremlinpython/default.nix @@ -16,6 +16,8 @@ }: buildPythonPackage rec { + __structuredAttrs = true; + pname = "gremlinpython"; version = "3.7.3"; format = "setuptools"; @@ -73,23 +75,20 @@ buildPythonPackage rec { "tests/process/test_dsl.py" "tests/structure/io/test_functionalityio.py" ]; - pytestFlagsArray = - let - fullDisabled = builtins.concatStringsSep " or " [ - "test_transaction_commit" - "test_transaction_rollback" - "test_transaction_no_begin" - "test_multi_commit_transaction" - "test_multi_rollback_transaction" - "test_multi_commit_and_rollback" - "test_transaction_close_tx" - "test_transaction_close_tx_from_parent" - ]; - in - [ - # disabledTests doesn't quite allow us to be precise enough for this - "-k 'not ((TestFunctionalGraphSONIO and (test_timestamp or test_datetime or test_uuid)) or ${fullDisabled})'" - ]; + + disabledTests = [ + "TestFunctionalGraphSONIO and test_timestamp" + "TestFunctionalGraphSONIO and test_datetime" + "TestFunctionalGraphSONIO and test_uuid" + "test_transaction_commit" + "test_transaction_rollback" + "test_transaction_no_begin" + "test_multi_commit_transaction" + "test_multi_rollback_transaction" + "test_multi_commit_and_rollback" + "test_transaction_close_tx" + "test_transaction_close_tx_from_parent" + ]; meta = with lib; { description = "Gremlin-Python implements Gremlin, the graph traversal language of Apache TinkerPop, within the Python language"; diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix index 6dd3950c2587..7569f2f9c0f6 100644 --- a/pkgs/development/python-modules/holoviews/default.nix +++ b/pkgs/development/python-modules/holoviews/default.nix @@ -58,9 +58,8 @@ buildPythonPackage rec { flaky ]; - pytestFlagsArray = [ - "-W" - "ignore::FutureWarning" + pytestFlags = [ + "-Wignore::FutureWarning" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/homf/default.nix b/pkgs/development/python-modules/homf/default.nix index 043147f22a11..861e145b2034 100644 --- a/pkgs/development/python-modules/homf/default.nix +++ b/pkgs/development/python-modules/homf/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { # There are currently no checks which do not require network access, which breaks the check hook somehow? # nativeCheckInputs = [ pytestCheckHook ]; - # pytestFlagsArray = [ "-m 'not network'" ]; + # disabledTestMarks = [ "network" ]; nativeBuildInputs = [ versionCheckHook ]; diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix index ca440c7058fe..07d8a590a1a2 100644 --- a/pkgs/development/python-modules/httplib2/default.nix +++ b/pkgs/development/python-modules/httplib2/default.nix @@ -62,7 +62,7 @@ buildPythonPackage rec { "test_connection_close" ]; - pytestFlagsArray = [ "--ignore python2" ]; + disabledTestPaths = [ "python2" ]; pythonImportsCheck = [ "httplib2" ]; diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index 57602d914f0e..e800262be966 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -140,12 +140,12 @@ buildPythonPackage rec { ] ++ lib.concatMap (name: optional-dependencies.${name}) testBackends; - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" - "-m" - "'${lib.concatStringsSep " or " testBackends} or core'" ]; + enabledTestMarks = testBackends ++ [ "core" ]; + disabledTests = [ # tries to download duckdb extensions "test_attach_sqlite" diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix index 443d386c4be4..3ad0df116de4 100644 --- a/pkgs/development/python-modules/ical/default.nix +++ b/pkgs/development/python-modules/ical/default.nix @@ -46,7 +46,7 @@ buildPythonPackage rec { syrupy ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "ical" ]; diff --git a/pkgs/development/python-modules/ignite/default.nix b/pkgs/development/python-modules/ignite/default.nix index 85ba22b81f08..50184ac63b06 100644 --- a/pkgs/development/python-modules/ignite/default.nix +++ b/pkgs/development/python-modules/ignite/default.nix @@ -46,20 +46,23 @@ buildPythonPackage rec { # runs successfully in 3.9, however, async isn't correctly closed so it will fail after test suite. doCheck = pythonOlder "3.9"; + enabledTestPaths = [ + "tests/" + ]; + # Some packages are not in NixPkgs; other tests try to build distributed # models, which doesn't work in the sandbox. # avoid tests which need special packages - pytestFlagsArray = [ - "--ignore=tests/ignite/contrib/handlers/test_clearml_logger.py" - "--ignore=tests/ignite/contrib/handlers/test_lr_finder.py" - "--ignore=tests/ignite/contrib/handlers/test_trains_logger.py" - "--ignore=tests/ignite/metrics/nlp/test_bleu.py" - "--ignore=tests/ignite/metrics/nlp/test_rouge.py" - "--ignore=tests/ignite/metrics/gan" # requires pytorch_fid; tries to download model to $HOME - "--ignore=tests/ignite/metrics/test_dill.py" - "--ignore=tests/ignite/metrics/test_psnr.py" - "--ignore=tests/ignite/metrics/test_ssim.py" - "tests/" + disabledTestPaths = [ + "tests/ignite/contrib/handlers/test_clearml_logger.py" + "tests/ignite/contrib/handlers/test_lr_finder.py" + "tests/ignite/contrib/handlers/test_trains_logger.py" + "tests/ignite/metrics/nlp/test_bleu.py" + "tests/ignite/metrics/nlp/test_rouge.py" + "tests/ignite/metrics/gan" # requires pytorch_fid; tries to download model to $HOME + "tests/ignite/metrics/test_dill.py" + "tests/ignite/metrics/test_psnr.py" + "tests/ignite/metrics/test_ssim.py" ]; # disable tests which need specific packages diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix index d697cb76f6f6..8ce623caad31 100644 --- a/pkgs/development/python-modules/imageio/default.nix +++ b/pkgs/development/python-modules/imageio/default.nix @@ -4,7 +4,6 @@ buildPythonPackage, fetchFromGitHub, isPyPy, - replaceVars, # build-system setuptools, @@ -26,9 +25,21 @@ # tests pytestCheckHook, + gitMinimal, fsspec, }: +let + test_images = fetchFromGitHub { + owner = "imageio"; + repo = "test_images"; + rev = "f676c96b1af7e04bb1eed1e4551e058eb2f14acd"; + leaveDotGit = true; + hash = "sha256-Kh8DowuhcCT5C04bE5yJa2C+efilLxP0AM31XjnHRf4="; + }; + libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}"; +in + buildPythonPackage rec { pname = "imageio"; version = "2.37.0"; @@ -41,11 +52,10 @@ buildPythonPackage rec { hash = "sha256-/nxJxZrTYX7F2grafIWwx9SyfR47ZXyaUwPHMEOdKkI="; }; - patches = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - (replaceVars ./libgl-path.patch { - libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}"; - }) - ]; + postPatch = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + substituteInPlace tests/test_core.py \ + --replace-fail 'ctypes.util.find_library("GL")' '"${libgl}"' + ''; build-system = [ setuptools ]; @@ -77,13 +87,27 @@ buildPythonPackage rec { nativeCheckInputs = [ fsspec + gitMinimal psutil pytestCheckHook ] ++ fsspec.optional-dependencies.github ++ lib.flatten (builtins.attrValues optional-dependencies); - pytestFlagsArray = [ "-m 'not needs_internet'" ]; + pytestFlags = [ "--test-images=file://${test_images}" ]; + + # These should have had `needs_internet` mark applied but don't so far. + # See https://github.com/imageio/imageio/pull/1142 + disabledTests = [ + "test_read_stream" + "test_uri_reading" + "test_trim_filter" + ]; + + disabledTestMarks = [ "needs_internet" ]; + + # These tests require the old and vulnerable freeimage binaries; skip. + disabledTestPaths = [ "tests/test_freeimage.py" ]; preCheck = '' export IMAGEIO_USERDIR=$(mktemp -d) diff --git a/pkgs/development/python-modules/imageio/libgl-path.patch b/pkgs/development/python-modules/imageio/libgl-path.patch deleted file mode 100644 index f2a2bbfa093d..000000000000 --- a/pkgs/development/python-modules/imageio/libgl-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tests/test_core.py b/tests/test_core.py -index 2cdbb3a..032974c 100644 ---- a/tests/test_core.py -+++ b/tests/test_core.py -@@ -129,7 +129,7 @@ def test_findlib2(): - open(os.path.join(fi_dir, "notalib.test.so"), "wb") - - # Loading libs -- gllib = ctypes.util.find_library("GL") -+ gllib = "@libgl@" - core.load_lib([gllib], []) - # Fail - raises(ValueError, core.load_lib, [], []) # Nothing given diff --git a/pkgs/development/python-modules/img2pdf/default.nix b/pkgs/development/python-modules/img2pdf/default.nix index 2f9cd6a685d4..413eb08c4c86 100644 --- a/pkgs/development/python-modules/img2pdf/default.nix +++ b/pkgs/development/python-modules/img2pdf/default.nix @@ -83,6 +83,9 @@ buildPythonPackage rec { "test_miff_cmyk16" "test_png_gray16" "test_png_rgb16" + # these only fail on aarch64 + "test_png_rgba8" + "test_png_gray8a" ]; pythonImportsCheck = [ "img2pdf" ]; diff --git a/pkgs/development/python-modules/ipydatawidgets/default.nix b/pkgs/development/python-modules/ipydatawidgets/default.nix index bf3ff8800aab..80539b22e3e0 100644 --- a/pkgs/development/python-modules/ipydatawidgets/default.nix +++ b/pkgs/development/python-modules/ipydatawidgets/default.nix @@ -13,6 +13,8 @@ }: buildPythonPackage rec { + __structuredAttrs = true; + pname = "ipydatawidgets"; version = "4.3.5"; format = "setuptools"; @@ -43,12 +45,12 @@ buildPythonPackage rec { # Tests bind ports __darwinAllowLocalNetworking = true; - pytestFlagsArray = [ + disabledTestPaths = [ # https://github.com/vidartf/ipydatawidgets/issues/62 - "--deselect=ipydatawidgets/tests/test_ndarray_trait.py::test_dtype_coerce" + "ipydatawidgets/tests/test_ndarray_trait.py::test_dtype_coerce" # https://github.com/vidartf/ipydatawidgets/issues/63 - "--deselect=examples/test.ipynb::Cell\\\ 3" + "examples/test.ipynb::Cell 3" ]; meta = { diff --git a/pkgs/development/python-modules/isort/default.nix b/pkgs/development/python-modules/isort/default.nix index 1a56040b083a..af72a6adc212 100644 --- a/pkgs/development/python-modules/isort/default.nix +++ b/pkgs/development/python-modules/isort/default.nix @@ -49,10 +49,10 @@ buildPythonPackage rec { export PATH=$PATH:$out/bin ''; - pytestFlagsArray = [ - "--ignore=tests/benchmark/" # requires pytest-benchmark - "--ignore=tests/integration/" # pulls in 10 other packages - "--ignore=tests/unit/profiles/test_black.py" # causes infinite recursion to include black + disabledTestPaths = [ + "tests/benchmark/" # requires pytest-benchmark + "tests/integration/" # pulls in 10 other packages + "tests/unit/profiles/test_black.py" # causes infinite recursion to include black ]; disabledTests = [ diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix index cd7f1e38f53f..bb28c4f4aea1 100644 --- a/pkgs/development/python-modules/jax/default.nix +++ b/pkgs/development/python-modules/jax/default.nix @@ -84,21 +84,25 @@ buildPythonPackage rec { # high parallelism will result in the tests getting stuck dontUsePytestXdist = true; + pytestFlags = [ + "--numprocesses=4" + "-Wignore::DeprecationWarning" + ]; + # NOTE: Don't run the tests in the experimental directory as they require flax # which creates a circular dependency. See https://discourse.nixos.org/t/how-to-nix-ify-python-packages-with-circular-dependencies/14648/2. # Not a big deal, this is how the JAX docs suggest running the test suite # anyhow. - pytestFlagsArray = [ - "--numprocesses=4" - "-W ignore::DeprecationWarning" + enabledTestPaths = [ "tests/" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ]; + + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ # SystemError: nanobind::detail::nb_func_error_except(): exception could not be translated! # reported at: https://github.com/jax-ml/jax/issues/26106 - "--deselect tests/pjit_test.py::PJitErrorTest::testAxisResourcesMismatch" - "--deselect tests/shape_poly_test.py::ShapePolyTest" - "--deselect tests/tree_util_test.py::TreeTest" + "tests/pjit_test.py::PJitErrorTest::testAxisResourcesMismatch" + "tests/shape_poly_test.py::ShapePolyTest" + "tests/tree_util_test.py::TreeTest" ]; # Prevents `tests/export_back_compat_test.py::CompatTest::test_*` tests from failing on darwin with diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix index 6a906ed55167..8047a7a7ebec 100644 --- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix +++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix @@ -38,8 +38,11 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ + pytestFlags = [ "--asyncio-mode=auto" + ]; + + enabledTestPaths = [ "tests.py" ]; diff --git a/pkgs/development/python-modules/jsonstreams/default.nix b/pkgs/development/python-modules/jsonstreams/default.nix index 9367c986e06c..7fef695cf559 100644 --- a/pkgs/development/python-modules/jsonstreams/default.nix +++ b/pkgs/development/python-modules/jsonstreams/default.nix @@ -22,7 +22,13 @@ buildPythonPackage rec { propagatedBuildInputs = [ six ]; nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ "tests --doctest-modules jsonstreams" ]; + + pytestFlags = [ "--doctest-modules" ]; + + enabledTestPaths = [ + "tests" + "jsonstreams" + ]; meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/development/python-modules/jupyter-collaboration/default.nix b/pkgs/development/python-modules/jupyter-collaboration/default.nix index b990300eac78..94f9f453ba77 100644 --- a/pkgs/development/python-modules/jupyter-collaboration/default.nix +++ b/pkgs/development/python-modules/jupyter-collaboration/default.nix @@ -55,13 +55,15 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - pytestFlagsArray = [ + pytestFlags = [ # pytest.PytestCacheWarning: could not create cache path /build/source/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/build/source/pytest-cache-files-plraagdr' - "-p" - "no:cacheprovider" - "$src/tests" + "-pno:cacheprovider" ]; + preCheck = '' + appendToVar enabledTestPaths "$src/tests" + ''; + __darwinAllowLocalNetworking = true; meta = { diff --git a/pkgs/development/python-modules/kanidm/default.nix b/pkgs/development/python-modules/kanidm/default.nix index e565a0019678..042ac0c0188a 100644 --- a/pkgs/development/python-modules/kanidm/default.nix +++ b/pkgs/development/python-modules/kanidm/default.nix @@ -53,7 +53,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; pythonImportsCheck = [ "kanidm" ]; diff --git a/pkgs/development/python-modules/kserve/default.nix b/pkgs/development/python-modules/kserve/default.nix index df18a9b63d68..56c1382c95bd 100644 --- a/pkgs/development/python-modules/kserve/default.nix +++ b/pkgs/development/python-modules/kserve/default.nix @@ -134,29 +134,27 @@ buildPythonPackage rec { pythonImportsCheck = [ "kserve" ]; - pytestFlagsArray = [ - # AssertionError - "--deselect=test/test_server.py::TestTFHttpServerLoadAndUnLoad::test_unload" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # RuntimeError: Failed to start GCS - "--deselect=test/test_dataplane.py::TestDataPlane::test_explain" - "--deselect=test/test_dataplane.py::TestDataPlane::test_infer" - "--deselect=test/test_dataplane.py::TestDataPlane::test_model_metadata" - "--deselect=test/test_dataplane.py::TestDataPlane::test_server_readiness" - "--deselect=test/test_server.py::TestRayServer::test_explain" - "--deselect=test/test_server.py::TestRayServer::test_health_handler" - "--deselect=test/test_server.py::TestRayServer::test_infer" - "--deselect=test/test_server.py::TestRayServer::test_list_handler" - "--deselect=test/test_server.py::TestRayServer::test_liveness_handler" - "--deselect=test/test_server.py::TestRayServer::test_predict" - # Permission Error - "--deselect=test/test_server.py::TestMutiProcessServer::test_rest_server_multiprocess" - ]; - disabledTestPaths = [ # Looks for a config file at the root of the repository "test/test_inference_service_client.py" + + # AssertionError + "test/test_server.py::TestTFHttpServerLoadAndUnLoad::test_unload" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # RuntimeError: Failed to start GCS + "test/test_dataplane.py::TestDataPlane::test_explain" + "test/test_dataplane.py::TestDataPlane::test_infer" + "test/test_dataplane.py::TestDataPlane::test_model_metadata" + "test/test_dataplane.py::TestDataPlane::test_server_readiness" + "test/test_server.py::TestRayServer::test_explain" + "test/test_server.py::TestRayServer::test_health_handler" + "test/test_server.py::TestRayServer::test_infer" + "test/test_server.py::TestRayServer::test_list_handler" + "test/test_server.py::TestRayServer::test_liveness_handler" + "test/test_server.py::TestRayServer::test_predict" + # Permission Error + "test/test_server.py::TestMutiProcessServer::test_rest_server_multiprocess" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix index 27c7f542572c..f0e6b5b61a9e 100644 --- a/pkgs/development/python-modules/labgrid/default.nix +++ b/pkgs/development/python-modules/labgrid/default.nix @@ -95,7 +95,7 @@ buildPythonPackage rec { "test_timing" ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; meta = with lib; { description = "Embedded control & testing library"; diff --git a/pkgs/development/python-modules/lancedb/default.nix b/pkgs/development/python-modules/lancedb/default.nix index 42b86aa1a9e7..2a684f8ee4bf 100644 --- a/pkgs/development/python-modules/lancedb/default.nix +++ b/pkgs/development/python-modules/lancedb/default.nix @@ -92,7 +92,7 @@ buildPythonPackage rec { cd python/python/tests ''; - pytestFlagsArray = [ "-m 'not slow'" ]; + disabledTestMarks = [ "slow" ]; disabledTests = [ # require tantivy which is not packaged in nixpkgs diff --git a/pkgs/development/python-modules/langchain-deepseek/default.nix b/pkgs/development/python-modules/langchain-deepseek/default.nix index 9ddeb8eb4310..8f82cbfb84a5 100644 --- a/pkgs/development/python-modules/langchain-deepseek/default.nix +++ b/pkgs/development/python-modules/langchain-deepseek/default.nix @@ -56,7 +56,7 @@ buildPythonPackage rec { syrupy ]; - pytestFlagsArray = [ "tests/unit_tests" ]; + enabledTestPaths = [ "tests/unit_tests" ]; pythonImportsCheck = [ "langchain_deepseek" ]; diff --git a/pkgs/development/python-modules/langchain-fireworks/default.nix b/pkgs/development/python-modules/langchain-fireworks/default.nix index 69f52f87cf9b..460c842ebebd 100644 --- a/pkgs/development/python-modules/langchain-fireworks/default.nix +++ b/pkgs/development/python-modules/langchain-fireworks/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "tests/unit_tests" ]; + enabledTestPaths = [ "tests/unit_tests" ]; pythonImportsCheck = [ "langchain_fireworks" ]; diff --git a/pkgs/development/python-modules/langchain-mistralai/default.nix b/pkgs/development/python-modules/langchain-mistralai/default.nix index b76fb3893586..69ca22771391 100644 --- a/pkgs/development/python-modules/langchain-mistralai/default.nix +++ b/pkgs/development/python-modules/langchain-mistralai/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "tests/unit_tests" ]; + enabledTestPaths = [ "tests/unit_tests" ]; pythonImportsCheck = [ "langchain_mistralai" ]; diff --git a/pkgs/development/python-modules/langchain-perplexity/default.nix b/pkgs/development/python-modules/langchain-perplexity/default.nix index acc783d3b46b..f54812f06cd6 100644 --- a/pkgs/development/python-modules/langchain-perplexity/default.nix +++ b/pkgs/development/python-modules/langchain-perplexity/default.nix @@ -56,7 +56,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "tests/unit_tests" ]; + enabledTestPaths = [ "tests/unit_tests" ]; pythonImportsCheck = [ "langchain_perplexity" ]; diff --git a/pkgs/development/python-modules/langchain-xai/default.nix b/pkgs/development/python-modules/langchain-xai/default.nix index 62b7b4595438..51b8487f590e 100644 --- a/pkgs/development/python-modules/langchain-xai/default.nix +++ b/pkgs/development/python-modules/langchain-xai/default.nix @@ -59,7 +59,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "tests/unit_tests" ]; + enabledTestPaths = [ "tests/unit_tests" ]; disabledTests = lib.optionals (stdenvNoCC.hostPlatform.isLinux && stdenvNoCC.hostPlatform.isAarch64) diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 2b81682ede40..414d16e2e99e 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -102,10 +102,13 @@ buildPythonPackage rec { toml ]; - pytestFlagsArray = [ + pytestFlags = [ + "--only-core" + ]; + + enabledTestPaths = [ # integration_tests require network access, database access and require `OPENAI_API_KEY`, etc. "tests/unit_tests" - "--only-core" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/lastversion/default.nix b/pkgs/development/python-modules/lastversion/default.nix index cab270a7c0f2..cb835bd32ca2 100644 --- a/pkgs/development/python-modules/lastversion/default.nix +++ b/pkgs/development/python-modules/lastversion/default.nix @@ -63,9 +63,11 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlags = [ + enabledTestPaths = [ "tests/test_cli.py" - "-k" + ]; + + enabledTests = [ "test_cli_format" ]; diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix index 92870e2fbc6e..0f5aa1bf18ae 100644 --- a/pkgs/development/python-modules/ldap3/default.nix +++ b/pkgs/development/python-modules/ldap3/default.nix @@ -43,7 +43,7 @@ buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook ]; - pytestFlagsArray = [ "test/" ]; + enabledTestPaths = [ "test/" ]; preCheck = '' export SERVER=NONE diff --git a/pkgs/development/python-modules/libipld/default.nix b/pkgs/development/python-modules/libipld/default.nix index 21fafc0c727b..72c18fcb691b 100644 --- a/pkgs/development/python-modules/libipld/default.nix +++ b/pkgs/development/python-modules/libipld/default.nix @@ -49,7 +49,7 @@ buildPythonPackage rec { pytest-xdist ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; disabledTests = [ # touches network diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix index 6091789ba947..6a6bf2ab4373 100644 --- a/pkgs/development/python-modules/limits/default.nix +++ b/pkgs/development/python-modules/limits/default.nix @@ -99,7 +99,7 @@ buildPythonPackage rec { ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; disabledTests = [ "test_moving_window_memcached" diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index 121d7c4571db..5719e19c0ab6 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -220,8 +220,11 @@ let cp ${llm-echo.src}/llm_echo.py llm_echo.py ''; - pytestFlagsArray = [ + pytestFlags = [ "-svv" + ]; + + enabledTestPaths = [ "tests/" ]; diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix index 7b8eb535a285..83152390624b 100644 --- a/pkgs/development/python-modules/magic-wormhole/default.nix +++ b/pkgs/development/python-modules/magic-wormhole/default.nix @@ -104,7 +104,7 @@ buildPythonPackage rec { ++ optional-dependencies.dilation ++ lib.optionals stdenv.hostPlatform.isDarwin [ unixtools.locale ]; - pytestFlagsArray = [ "src/wormhole/test" ]; + enabledTestPaths = [ "src/wormhole/test" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/manifest-ml/default.nix b/pkgs/development/python-modules/manifest-ml/default.nix index a364d0b366d2..5520d57aaad6 100644 --- a/pkgs/development/python-modules/manifest-ml/default.nix +++ b/pkgs/development/python-modules/manifest-ml/default.nix @@ -91,9 +91,9 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; - pytestFlagsArray = [ + disabledTestPaths = [ # this file tries importing `deepspeed`, which is not yet packaged in nixpkgs - "--ignore=tests/test_huggingface_api.py" + "tests/test_huggingface_api.py" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/ml-collections/default.nix b/pkgs/development/python-modules/ml-collections/default.nix index 25eeecf1ae1f..24001a85b1a7 100644 --- a/pkgs/development/python-modules/ml-collections/default.nix +++ b/pkgs/development/python-modules/ml-collections/default.nix @@ -36,9 +36,12 @@ buildPythonPackage rec { pytest-xdist ]; - pytestFlagsArray = [ + enabledTestPaths = [ "ml_collections/" - "--ignore=ml_collections/config_dict/examples/examples_test.py" # From github workflows + ]; + + disabledTestPaths = [ + "ml_collections/config_dict/examples/examples_test.py" # From github workflows ]; pythonImportsCheck = [ "ml_collections" ]; diff --git a/pkgs/development/python-modules/mlx/default.nix b/pkgs/development/python-modules/mlx/default.nix index b05c0224608b..6e9306c258ff 100644 --- a/pkgs/development/python-modules/mlx/default.nix +++ b/pkgs/development/python-modules/mlx/default.nix @@ -111,7 +111,7 @@ let pytestCheckHook ]; - pytestFlagsArray = [ + enabledTestPaths = [ "python/tests/" ]; diff --git a/pkgs/development/python-modules/mmengine/default.nix b/pkgs/development/python-modules/mmengine/default.nix index a5debed6a138..52d2ff2a84c7 100644 --- a/pkgs/development/python-modules/mmengine/default.nix +++ b/pkgs/development/python-modules/mmengine/default.nix @@ -107,16 +107,16 @@ buildPythonPackage rec { export MKL_NUM_THREADS=1 ''; - pytestFlagsArray = [ + disabledTestPaths = [ # Require unpackaged aim - "--deselect tests/test_visualizer/test_vis_backend.py::TestAimVisBackend" + "tests/test_visualizer/test_vis_backend.py::TestAimVisBackend" # Cannot find SSL certificate # _pygit2.GitError: OpenSSL error: failed to load certificates: error:00000000:lib(0)::reason(0) - "--deselect tests/test_visualizer/test_vis_backend.py::TestDVCLiveVisBackend" + "tests/test_visualizer/test_vis_backend.py::TestDVCLiveVisBackend" # AttributeError: type object 'MagicMock' has no attribute ... - "--deselect tests/test_fileio/test_backends/test_petrel_backend.py::TestPetrelBackend" + "tests/test_fileio/test_backends/test_petrel_backend.py::TestPetrelBackend" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/mne/default.nix b/pkgs/development/python-modules/mne/default.nix index e65caeb6355e..c3b3c0ea2785 100644 --- a/pkgs/development/python-modules/mne/default.nix +++ b/pkgs/development/python-modules/mne/default.nix @@ -94,12 +94,17 @@ buildPythonPackage rec { "test_simulate_raw_bem" ]; - pytestFlagsArray = [ - "-m 'not (slowtest or ultraslowtest or pgtest)'" + pytestFlag = [ # removes 700k lines form pytest log, remove this when scipy is at v1.17.0 "--disable-warnings" ]; + disabledTestMarks = [ + "slowtest" + "ultraslowtest" + "pgtest" + ]; + pythonImportsCheck = [ "mne" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index 7ebd9d1554da..3fe8eaea2371 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -317,13 +317,14 @@ buildPythonPackage rec { env.AWS_ACCESS_KEY_ID = "ak"; env.AWS_SECRET_ACCESS_KEY = "sk"; - pytestFlagsArray = [ - "-m" - "'not network and not requires_docker'" - + pytestFlags = [ # Matches upstream configuration, presumably due to expensive setup/teardown. - "--dist" - "loadscope" + "--dist=loadscope" + ]; + + disabledTestMarks = [ + "network" + "requires_docker" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/ndindex/default.nix b/pkgs/development/python-modules/ndindex/default.nix index c6482111d6d9..54edcb1b2e4c 100644 --- a/pkgs/development/python-modules/ndindex/default.nix +++ b/pkgs/development/python-modules/ndindex/default.nix @@ -69,9 +69,8 @@ buildPythonPackage rec { ] ++ optional-dependencies.arrays; - pytestFlagsArray = [ - "--hypothesis-profile" - "ci" + pytestFlags = [ + "--hypothesis-profile=ci" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/nestedtext/default.nix b/pkgs/development/python-modules/nestedtext/default.nix index 5ef27b3c99de..40aa93be7120 100644 --- a/pkgs/development/python-modules/nestedtext/default.nix +++ b/pkgs/development/python-modules/nestedtext/default.nix @@ -43,12 +43,9 @@ buildPythonPackage rec { # enabled when building passthru.tests. doCheck = false; - pytestFlagsArray = [ - # Avoids an ImportMismatchError. - "--ignore=build" - ]; - disabledTestPaths = [ + # Avoids an ImportMismatchError. + "build" # Examples are prefixed with test_ "examples/" ]; diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix index 58e0e22c4813..3182440439e5 100644 --- a/pkgs/development/python-modules/numba/default.nix +++ b/pkgs/development/python-modules/numba/default.nix @@ -111,7 +111,7 @@ buildPythonPackage rec { cd $out ''; - pytestFlagsArray = lib.optionals (!doFullCheck) [ + enabledTestPaths = lib.optionals (!doFullCheck) [ # These are the most basic tests. Running all tests is too expensive, and # some of them fail (also differently on different platforms), so it will # be too hard to maintain such a `disabledTests` list. diff --git a/pkgs/development/python-modules/numbagg/default.nix b/pkgs/development/python-modules/numbagg/default.nix index fc0fa55f0718..6ec6156d5def 100644 --- a/pkgs/development/python-modules/numbagg/default.nix +++ b/pkgs/development/python-modules/numbagg/default.nix @@ -54,7 +54,7 @@ buildPythonPackage rec { pytest-benchmark ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; meta = { description = "Fast N-dimensional aggregation functions with Numba"; diff --git a/pkgs/development/python-modules/numpy/1.nix b/pkgs/development/python-modules/numpy/1.nix index 4cd993e9ba15..0d040582c883 100644 --- a/pkgs/development/python-modules/numpy/1.nix +++ b/pkgs/development/python-modules/numpy/1.nix @@ -141,9 +141,8 @@ buildPythonPackage rec { ''; # https://github.com/numpy/numpy/blob/a277f6210739c11028f281b8495faf7da298dbef/numpy/_pytesttester.py#L180 - pytestFlagsArray = [ - "-m" - "not\\ slow" # fast test suite + disabledTestMarks = [ + "slow" # fast test suite ]; # https://github.com/numpy/numpy/issues/24548 diff --git a/pkgs/development/python-modules/numpy/2.nix b/pkgs/development/python-modules/numpy/2.nix index c9a4ea304dcd..d4ea336d499a 100644 --- a/pkgs/development/python-modules/numpy/2.nix +++ b/pkgs/development/python-modules/numpy/2.nix @@ -130,9 +130,8 @@ buildPythonPackage rec { ''; # https://github.com/numpy/numpy/blob/a277f6210739c11028f281b8495faf7da298dbef/numpy/_pytesttester.py#L180 - pytestFlagsArray = [ - "-m" - "not\\ slow" # fast test suite + disabledTestMarks = [ + "slow" # fast test suite ]; disabledTests = [ diff --git a/pkgs/development/python-modules/nutpie/default.nix b/pkgs/development/python-modules/nutpie/default.nix index 91d7ce5b5a8c..89ea714d15ed 100644 --- a/pkgs/development/python-modules/nutpie/default.nix +++ b/pkgs/development/python-modules/nutpie/default.nix @@ -81,7 +81,7 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - pytestFlagsArray = [ + pytestFlags = [ "-v" ]; diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix index fe1461b78801..ec03672ca806 100644 --- a/pkgs/development/python-modules/nvchecker/default.nix +++ b/pkgs/development/python-modules/nvchecker/default.nix @@ -70,7 +70,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "nvchecker" ]; - pytestFlagsArray = [ "-m 'not needs_net'" ]; + disabledTestMarks = [ "needs_net" ]; optional-dependencies = { # vercmp = [ pyalpm ]; diff --git a/pkgs/development/python-modules/odc-geo/default.nix b/pkgs/development/python-modules/odc-geo/default.nix index 50c3cd542465..b0bb434669f0 100644 --- a/pkgs/development/python-modules/odc-geo/default.nix +++ b/pkgs/development/python-modules/odc-geo/default.nix @@ -82,7 +82,7 @@ buildPythonPackage rec { ] ++ optional-dependencies.all; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; disabledTests = [ # AttributeError (fixes: https://github.com/opendatacube/odc-geo/pull/202) diff --git a/pkgs/development/python-modules/odc-stac/default.nix b/pkgs/development/python-modules/odc-stac/default.nix index 9cb54e152e24..d077e9c37db5 100644 --- a/pkgs/development/python-modules/odc-stac/default.nix +++ b/pkgs/development/python-modules/odc-stac/default.nix @@ -69,7 +69,7 @@ buildPythonPackage rec { ] ++ optional-dependencies.botocore; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; disabledTests = [ # pystac href error (possible related to network) diff --git a/pkgs/development/python-modules/ome-zarr/default.nix b/pkgs/development/python-modules/ome-zarr/default.nix index ba6a6946dccc..263479410782 100644 --- a/pkgs/development/python-modules/ome-zarr/default.nix +++ b/pkgs/development/python-modules/ome-zarr/default.nix @@ -59,25 +59,25 @@ buildPythonPackage rec { "test_s3_info" ]; - pytestFlagsArray = [ + disabledTestPaths = [ # Fail with RecursionError # https://github.com/ome/ome-zarr-py/issues/352 - "--deselect=tests/test_cli.py::TestCli::test_astronaut_download" - "--deselect=tests/test_cli.py::TestCli::test_astronaut_info" - "--deselect=tests/test_cli.py::TestCli::test_coins_info" - "--deselect=tests/test_emitter.py::test_close" - "--deselect=tests/test_emitter.py::test_create_wrong_encoding" - "--deselect=tests/test_node.py::TestNode::test_image" - "--deselect=tests/test_node.py::TestNode::test_label" - "--deselect=tests/test_node.py::TestNode::test_labels" - "--deselect=tests/test_ome_zarr.py::TestOmeZarr::test_download" - "--deselect=tests/test_ome_zarr.py::TestOmeZarr::test_info" - "--deselect=tests/test_reader.py::TestReader::test_image" - "--deselect=tests/test_reader.py::TestReader::test_label" - "--deselect=tests/test_reader.py::TestReader::test_labels" - "--deselect=tests/test_starting_points.py::TestStartingPoints::test_label" - "--deselect=tests/test_starting_points.py::TestStartingPoints::test_labels" - "--deselect=tests/test_starting_points.py::TestStartingPoints::test_top_level" + "tests/test_cli.py::TestCli::test_astronaut_download" + "tests/test_cli.py::TestCli::test_astronaut_info" + "tests/test_cli.py::TestCli::test_coins_info" + "tests/test_emitter.py::test_close" + "tests/test_emitter.py::test_create_wrong_encoding" + "tests/test_node.py::TestNode::test_image" + "tests/test_node.py::TestNode::test_label" + "tests/test_node.py::TestNode::test_labels" + "tests/test_ome_zarr.py::TestOmeZarr::test_download" + "tests/test_ome_zarr.py::TestOmeZarr::test_info" + "tests/test_reader.py::TestReader::test_image" + "tests/test_reader.py::TestReader::test_label" + "tests/test_reader.py::TestReader::test_labels" + "tests/test_starting_points.py::TestStartingPoints::test_label" + "tests/test_starting_points.py::TestStartingPoints::test_labels" + "tests/test_starting_points.py::TestStartingPoints::test_top_level" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/omegaconf/default.nix b/pkgs/development/python-modules/omegaconf/default.nix index b985b62ec2c9..c21ee73c3e05 100644 --- a/pkgs/development/python-modules/omegaconf/default.nix +++ b/pkgs/development/python-modules/omegaconf/default.nix @@ -65,9 +65,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "omegaconf" ]; - pytestFlagsArray = [ - "-W" - "ignore::DeprecationWarning" + pytestFlags = [ + "-Wignore::DeprecationWarning" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix index c00498f74cec..d677dbda8762 100644 --- a/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix +++ b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix @@ -30,7 +30,7 @@ buildPythonPackage { requests ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "opentelemetry.propagators.aws" ]; diff --git a/pkgs/development/python-modules/opuslib/default.nix b/pkgs/development/python-modules/opuslib/default.nix index d97adbefb8a1..02d2caa52373 100644 --- a/pkgs/development/python-modules/opuslib/default.nix +++ b/pkgs/development/python-modules/opuslib/default.nix @@ -47,8 +47,11 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ - "tests/{decoder,encoder,hl_decoder,hl_encoder}.py" + enabledTestPaths = [ + "tests/decoder.py" + "tests/encoder.py" + "tests/hl_decoder.py" + "tests/hl_encoder.py" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix index 739d8cbba372..6e8fd74abaab 100644 --- a/pkgs/development/python-modules/owslib/default.nix +++ b/pkgs/development/python-modules/owslib/default.nix @@ -55,9 +55,9 @@ buildPythonPackage rec { export PY_IGNORE_IMPORTMISMATCH=1 ''; - pytestFlagsArray = [ + disabledTestMarks = [ # Disable tests which require network access - "-m 'not online'" + "online" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix index db0f0122de29..82351f93e3b1 100644 --- a/pkgs/development/python-modules/pandas/default.nix +++ b/pkgs/development/python-modules/pandas/default.nix @@ -210,14 +210,19 @@ let __darwinAllowLocalNetworking = true; - pytestFlagsArray = [ - # https://github.com/pandas-dev/pandas/blob/main/test_fast.sh - "-m" - "'not single_cpu and not slow and not network and not db and not slow_arm'" + pytestFlags = [ # https://github.com/pandas-dev/pandas/issues/54907 "--no-strict-data-files" - "--numprocesses" - "4" + "--numprocesses=4" + ]; + + disabledTestMarks = [ + # https://github.com/pandas-dev/pandas/blob/main/test_fast.sh + "single_cpu" + "slow" + "network" + "db" + "slow_arm" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/pandera/default.nix b/pkgs/development/python-modules/pandera/default.nix index 20e99f53c645..ce68f97a5f7d 100644 --- a/pkgs/development/python-modules/pandera/default.nix +++ b/pkgs/development/python-modules/pandera/default.nix @@ -121,18 +121,16 @@ buildPythonPackage rec { ] ++ optional-dependencies.all; - pytestFlagsArray = [ - # KeyError: 'dask' - "--deselect=tests/dask/test_dask.py::test_series_schema" - "--deselect=tests/dask/test_dask_accessor.py::test_dataframe_series_add_schema" - ]; - disabledTestPaths = [ "tests/fastapi/test_app.py" # tries to access network "tests/pandas/test_docs_setting_column_widths.py" # tests doc generation, requires sphinx "tests/modin" # requires modin, not in nixpkgs "tests/mypy/test_pandas_static_type_checking.py" # some typing failures "tests/pyspark" # requires spark + + # KeyError: 'dask' + "tests/dask/test_dask.py::test_series_schema" + "tests/dask/test_dask_accessor.py::test_dataframe_series_add_schema" ]; disabledTests = diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix index 8084cf8702ba..9ece875296c3 100644 --- a/pkgs/development/python-modules/papermill/default.nix +++ b/pkgs/development/python-modules/papermill/default.nix @@ -92,15 +92,6 @@ buildPythonPackage rec { pythonImportsCheck = [ "papermill" ]; - # Using pytestFlagsArray to prevent disabling false positives - pytestFlagsArray = [ - # AssertionError: 'error' != 'display_data' - "--deselect=papermill/tests/test_execute.py::TestBrokenNotebook2::test" - - # AssertionError: '\x1b[31mSystemExit\x1b[39m\x1b[31m:\x1b[39m 1\n' != '\x1b[0;31mSystemExit\x1b[0m\x1b[0;31m:\x1b[0m 1\n' - "--deselect=papermill/tests/test_execute.py::TestOutputFormatting::test_output_formatting" - ]; - disabledTests = [ # pytest 8 compat "test_read_with_valid_file_extension" @@ -113,6 +104,12 @@ buildPythonPackage rec { disabledTestPaths = [ # ImportError: cannot import name 'mock_s3' from 'moto' "papermill/tests/test_s3.py" + + # AssertionError: 'error' != 'display_data' + "papermill/tests/test_execute.py::TestBrokenNotebook2::test" + + # AssertionError: '\x1b[31mSystemExit\x1b[39m\x1b[31m:\x1b[39m 1\n' != '\x1b[0;31mSystemExit\x1b[0m\x1b[0;31m:\x1b[0m 1\n' + "papermill/tests/test_execute.py::TestOutputFormatting::test_output_formatting" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/pdf2docx/default.nix b/pkgs/development/python-modules/pdf2docx/default.nix index 8a14613443b9..64f69ecb3416 100644 --- a/pkgs/development/python-modules/pdf2docx/default.nix +++ b/pkgs/development/python-modules/pdf2docx/default.nix @@ -47,11 +47,13 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ + pytestFlags = [ "-v" - "./test/test.py::TestConversion" ]; + enabledTestPaths = [ + "./test/test.py::TestConversion" + ]; # Test fails due to "RuntimeError: cannot find builtin font with name 'Arial'": disabledTests = [ "test_unnamed_fonts" ]; diff --git a/pkgs/development/python-modules/pdoc/default.nix b/pkgs/development/python-modules/pdoc/default.nix index da972ad56421..b87d85c42797 100644 --- a/pkgs/development/python-modules/pdoc/default.nix +++ b/pkgs/development/python-modules/pdoc/default.nix @@ -46,8 +46,8 @@ buildPythonPackage rec { "test/test_snapshot.py" ]; - pytestFlagsArray = [ - ''-m "not slow"'' # skip slow tests + disabledTestMarks = [ + "slow" # skip slow tests ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index 55b51dd05891..050c403b763a 100644 --- a/pkgs/development/python-modules/pillow/default.nix +++ b/pkgs/development/python-modules/pillow/default.nix @@ -107,11 +107,6 @@ buildPythonPackage rec { ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ - # Checks for very precise color values on what's basically white - "--deselect=Tests/test_file_avif.py::TestFileAvif::test_background_from_gif" - ]; - disabledTests = [ # Code quality mismathch 9 vs 10 "test_pyroma" @@ -126,6 +121,9 @@ buildPythonPackage rec { disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ # Crashes the interpreter "Tests/test_imagetk.py" + + # Checks for very precise color values on what's basically white + "Tests/test_file_avif.py::TestFileAvif::test_background_from_gif" ]; passthru.tests = { diff --git a/pkgs/development/python-modules/pipx/default.nix b/pkgs/development/python-modules/pipx/default.nix index 0fd274db0454..bed59c001b8e 100644 --- a/pkgs/development/python-modules/pipx/default.nix +++ b/pkgs/development/python-modules/pipx/default.nix @@ -56,12 +56,15 @@ buildPythonPackage rec { export HOME=$(mktemp -d) ''; - pytestFlagsArray = [ - "--ignore=tests/test_install_all_packages.py" + pytestFlags = [ # start local pypi server and use in tests "--net-pypiserver" ]; + disabledTestPaths = [ + "tests/test_install_all_packages.py" + ]; + disabledTests = [ # disable tests which are difficult to emulate due to shell manipulations "path_warning" diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix index 6b2bf5d213ba..0fc073681434 100644 --- a/pkgs/development/python-modules/polars/default.nix +++ b/pkgs/development/python-modules/polars/default.nix @@ -239,11 +239,10 @@ buildPythonPackage rec { pytest-benchmark ]; - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" - "-n auto" - "--dist loadgroup" - ''-m "slow or not slow"'' + "-nauto" + "--dist=loadgroup" ]; disabledTests = [ "test_read_kuzu_graph_database" # kuzu diff --git a/pkgs/development/python-modules/pomegranate/default.nix b/pkgs/development/python-modules/pomegranate/default.nix index cd1dc05dec77..f674461d928c 100644 --- a/pkgs/development/python-modules/pomegranate/default.nix +++ b/pkgs/development/python-modules/pomegranate/default.nix @@ -72,11 +72,11 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + disabledTestPaths = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ # AssertionError: Arrays are not almost equal to 6 decimals - "--deselect=tests/distributions/test_normal_full.py::test_fit" - "--deselect=tests/distributions/test_normal_full.py::test_from_summaries" - "--deselect=tests/distributions/test_normal_full.py::test_serialization" + "=tests/distributions/test_normal_full.py::test_fit" + "=tests/distributions/test_normal_full.py::test_from_summaries" + "=tests/distributions/test_normal_full.py::test_serialization" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index 8c56f8d47001..d1812889b663 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -214,10 +214,14 @@ buildPythonPackage rec { "tests/test_notify_async.py" ]; - pytestFlagsArray = [ - "-o cache_dir=.cache" - "-m" - "'not refcount and not timing and not flakey'" + pytestFlags = [ + "-ocache_dir=.cache" + ]; + + disabledTestMarks = [ + "refcount" + "timing" + "flakey" ]; postCheck = '' diff --git a/pkgs/development/python-modules/py7zr/default.nix b/pkgs/development/python-modules/py7zr/default.nix index e8fbd5dbafb3..9e986b4cae52 100644 --- a/pkgs/development/python-modules/py7zr/default.nix +++ b/pkgs/development/python-modules/py7zr/default.nix @@ -65,7 +65,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "py7zr" diff --git a/pkgs/development/python-modules/pyadjoint-ad/default.nix b/pkgs/development/python-modules/pyadjoint-ad/default.nix index 68ce38225589..5b91b9dcb6aa 100644 --- a/pkgs/development/python-modules/pyadjoint-ad/default.nix +++ b/pkgs/development/python-modules/pyadjoint-ad/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ + enabledTestPaths = [ "tests/pyadjoint" ]; diff --git a/pkgs/development/python-modules/pyasynchat/default.nix b/pkgs/development/python-modules/pyasynchat/default.nix index b8f7cd764133..dd5a1df8f3ed 100644 --- a/pkgs/development/python-modules/pyasynchat/default.nix +++ b/pkgs/development/python-modules/pyasynchat/default.nix @@ -45,6 +45,8 @@ buildPythonPackage rec { "asynchat" ]; + __darwinAllowLocalNetworking = true; + meta = { description = "Make asynchat available for Python 3.12 onwards"; homepage = "https://github.com/simonrob/pyasynchat"; diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix index ff537e9733f3..ab696abe6d18 100644 --- a/pkgs/development/python-modules/pydal/default.nix +++ b/pkgs/development/python-modules/pydal/default.nix @@ -28,19 +28,22 @@ buildPythonPackage rec { checkInputs = lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; - pytestFlagsArray = [ + enabledTestPaths = [ "tests/*.py" + ]; + + disabledTestPaths = [ # these tests already seem to be broken on the upstream - "--deselect=tests/nosql.py::TestFields::testRun" - "--deselect=tests/nosql.py::TestSelect::testGroupByAndDistinct" - "--deselect=tests/nosql.py::TestExpressions::testOps" - "--deselect=tests/nosql.py::TestExpressions::testRun" - "--deselect=tests/nosql.py::TestImportExportUuidFields::testRun" - "--deselect=tests/nosql.py::TestConnection::testRun" - "--deselect=tests/restapi.py::TestRestAPI::test_search" - "--deselect=tests/validation.py::TestValidateAndInsert::testRun" - "--deselect=tests/validation.py::TestValidateUpdateInsert::testRun" - "--deselect=tests/validators.py::TestValidators::test_IS_IN_DB" + "tests/nosql.py::TestFields::testRun" + "tests/nosql.py::TestSelect::testGroupByAndDistinct" + "tests/nosql.py::TestExpressions::testOps" + "tests/nosql.py::TestExpressions::testRun" + "tests/nosql.py::TestImportExportUuidFields::testRun" + "tests/nosql.py::TestConnection::testRun" + "tests/restapi.py::TestRestAPI::test_search" + "tests/validation.py::TestValidateAndInsert::testRun" + "tests/validation.py::TestValidateUpdateInsert::testRun" + "tests/validators.py::TestValidators::test_IS_IN_DB" ]; disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/development/python-modules/pydantic-extra-types/default.nix b/pkgs/development/python-modules/pydantic-extra-types/default.nix index 106faf061f62..7ca5fb4a06aa 100644 --- a/pkgs/development/python-modules/pydantic-extra-types/default.nix +++ b/pkgs/development/python-modules/pydantic-extra-types/default.nix @@ -5,10 +5,12 @@ fetchFromGitHub, hatchling, pydantic, + typing-extensions, semver, pendulum, phonenumbers, pycountry, + pymongo, python-ulid, pytz, pytestCheckHook, @@ -16,21 +18,21 @@ buildPythonPackage rec { pname = "pydantic-extra-types"; - version = "2.10.2"; + version = "2.10.5"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-extra-types"; tag = "v${version}"; - hash = "sha256-hjwComN2CQWPnF7frWobxbzN9/ZhHGVSsRHnmAkL6wk="; + hash = "sha256-05yGIAgN/sW+Nj7F720ZAHeMz/AyvwHMfzp4OdLREe4="; }; build-system = [ hatchling ]; dependencies = [ pydantic - semver + typing-extensions ]; optional-dependencies = { @@ -38,20 +40,22 @@ buildPythonPackage rec { pendulum phonenumbers pycountry + pymongo python-ulid pytz + semver ]; + phonenumbers = [ phonenumbers ]; + pycountry = [ pycountry ]; + semver = [ semver ]; + python_ulid = [ python-ulid ]; + pendulum = [ pendulum ]; }; pythonImportsCheck = [ "pydantic_extra_types" ]; nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.all; - disabledTests = [ - # outdated jsonschema fixture - "test_json_schema" - ]; - # PermissionError accessing '/etc/localtime' disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_pendulum_dt.py" ]; diff --git a/pkgs/development/python-modules/pydantic-settings/default.nix b/pkgs/development/python-modules/pydantic-settings/default.nix index 624daaa04a9b..cf0144cf7368 100644 --- a/pkgs/development/python-modules/pydantic-settings/default.nix +++ b/pkgs/development/python-modules/pydantic-settings/default.nix @@ -14,7 +14,7 @@ let self = buildPythonPackage rec { pname = "pydantic-settings"; - version = "2.9.1"; + version = "2.10.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,8 +22,8 @@ let src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-settings"; - tag = "v${version}"; - hash = "sha256-KcpDOdp8qDAgTI/+r6rb21UrjkeOFfCFnON1kMSKKSE="; + tag = version; + hash = "sha256-Bi5MIXB9fVE5hoyk8QxxaGa9+puAlW+YGdi/WMNf/RQ="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index 22552b125b38..5f0d1c58efe6 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -29,7 +29,7 @@ buildPythonPackage rec { pname = "pydantic"; - version = "2.11.4"; + version = "2.11.7"; pyproject = true; disabled = pythonOlder "3.8"; @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "pydantic"; repo = "pydantic"; tag = "v${version}"; - hash = "sha256-/LMemrO01KnhDrqKbH1qBVyO/uAiqTh5+FHnrxE8BUo="; + hash = "sha256-5EQwbAqRExApJvVUJ1C6fsEC1/rEI6/bQEQkStqgf/Q="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pygerber/default.nix b/pkgs/development/python-modules/pygerber/default.nix index cd5c62f8dc9f..41484bbede36 100644 --- a/pkgs/development/python-modules/pygerber/default.nix +++ b/pkgs/development/python-modules/pygerber/default.nix @@ -92,7 +92,7 @@ buildPythonPackage rec { "test/gerberx3/test_language_server/tests.py" ]; - pytestFlagsArray = [ "--override-ini required_plugins=''" ]; + pytestFlags = [ "--override-ini=required_plugins=" ]; pythonImportsCheck = [ "pygerber" ]; diff --git a/pkgs/development/python-modules/pyiceberg/default.nix b/pkgs/development/python-modules/pyiceberg/default.nix index e6fd6185591c..40020a675727 100644 --- a/pkgs/development/python-modules/pyiceberg/default.nix +++ b/pkgs/development/python-modules/pyiceberg/default.nix @@ -185,10 +185,9 @@ buildPythonPackage rec { ] ++ moto.optional-dependencies.server; - pytestFlagsArray = [ - "-W" + pytestFlags = [ # ResourceWarning: unclosed database in - "ignore::pytest.PytestUnraisableExceptionWarning" + "-Wignore::pytest.PytestUnraisableExceptionWarning" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix index ad34dce4dfe2..e419f43c7a00 100644 --- a/pkgs/development/python-modules/pyicu/default.nix +++ b/pkgs/development/python-modules/pyicu/default.nix @@ -38,11 +38,11 @@ buildPythonPackage rec { six ]; - pytestFlagsArray = [ + disabledTestPaths = [ # AssertionError: '$' != 'US Dollar' - "--deselect=test/test_NumberFormatter.py::TestCurrencyUnit::testGetName" + "test/test_NumberFormatter.py::TestCurrencyUnit::testGetName" # AssertionError: Lists differ: ['a', 'b', 'c', 'd'] != ['a', 'b', 'c', 'd', ... - "--deselect=test/test_UnicodeSet.py::TestUnicodeSet::testIterators" + "test/test_UnicodeSet.py::TestUnicodeSet::testIterators" ]; pythonImportsCheck = [ "icu" ]; diff --git a/pkgs/development/python-modules/pylit/default.nix b/pkgs/development/python-modules/pylit/default.nix index d4ad1872eb66..0e3a76b0d6c3 100644 --- a/pkgs/development/python-modules/pylit/default.nix +++ b/pkgs/development/python-modules/pylit/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "test" ]; + enabledTestPaths = [ "test" ]; meta = { homepage = "https://codeberg.org/milde/pylit"; diff --git a/pkgs/development/python-modules/pymanopt/default.nix b/pkgs/development/python-modules/pymanopt/default.nix index 453190901195..856d7b768efd 100644 --- a/pkgs/development/python-modules/pymanopt/default.nix +++ b/pkgs/development/python-modules/pymanopt/default.nix @@ -57,10 +57,10 @@ buildPythonPackage rec { torch ]; - pytestFlagsArray = lib.optionals stdenv.hostPlatform.isDarwin [ + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ # FloatingPointError: divide by zero encountered in det - "--deselect=tests/manifolds/test_positive_definite.py::TestMultiSpecialHermitianPositiveDefiniteManifold::test_retraction" - "--deselect=tests/manifolds/test_positive_definite.py::TestSingleSpecialHermitianPositiveDefiniteManifold::test_retraction" + "tests/manifolds/test_positive_definite.py::TestMultiSpecialHermitianPositiveDefiniteManifold::test_retraction" + "tests/manifolds/test_positive_definite.py::TestSingleSpecialHermitianPositiveDefiniteManifold::test_retraction" ]; meta = { diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix index fcf2aaa5cdbb..7199ebbe1862 100644 --- a/pkgs/development/python-modules/pymatgen/default.nix +++ b/pkgs/development/python-modules/pymatgen/default.nix @@ -120,11 +120,6 @@ buildPythonPackage rec { pythonImportsCheck = [ "pymatgen" ]; - pytestFlagsArray = [ - # We have not packaged moyopy yet. - "--deselect=tests/analysis/test_prototypes.py::test_get_protostructure_label_from_moyopy" - ]; - nativeCheckInputs = [ addBinToPathHook pytestCheckHook @@ -175,6 +170,9 @@ buildPythonPackage rec { ]; disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + # We have not packaged moyopy yet. + "tests/analysis/test_prototypes.py::test_get_protostructure_label_from_moyopy" + # Crash when running the pmg command # Critical error: required built-in appearance SystemAppearance not found "tests/cli/test_pmg_plot.py" diff --git a/pkgs/development/python-modules/pymoo/default.nix b/pkgs/development/python-modules/pymoo/default.nix index f93c72a28969..82d137ae4592 100644 --- a/pkgs/development/python-modules/pymoo/default.nix +++ b/pkgs/development/python-modules/pymoo/default.nix @@ -93,7 +93,7 @@ buildPythonPackage rec { numba ]; # Select some lightweight tests - pytestFlagsArray = [ "-m 'not long'" ]; + disabledTestMarks = [ "long" ]; disabledTests = [ # ModuleNotFoundError: No module named 'pymoo.cython.non_dominated_sorting' "test_fast_non_dominated_sorting" diff --git a/pkgs/development/python-modules/pyogrio/default.nix b/pkgs/development/python-modules/pyogrio/default.nix index 063c1ab12b51..8c3ed073d9f0 100644 --- a/pkgs/development/python-modules/pyogrio/default.nix +++ b/pkgs/development/python-modules/pyogrio/default.nix @@ -56,9 +56,9 @@ buildPythonPackage rec { python setup.py build_ext --inplace ''; - pytestFlagsArray = [ + disabledTestMarks = [ # disable tests which require network access - "-m 'not network'" + "network" ]; pythonImportsCheck = [ "pyogrio" ]; diff --git a/pkgs/development/python-modules/pyopenweathermap/default.nix b/pkgs/development/python-modules/pyopenweathermap/default.nix index d1ddbddf51ff..0671a9c1668d 100644 --- a/pkgs/development/python-modules/pyopenweathermap/default.nix +++ b/pkgs/development/python-modules/pyopenweathermap/default.nix @@ -36,9 +36,8 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ - "-m" - "'not network'" + disabledTestMarks = [ + "network" ]; pythonImportsCheck = [ "pyopenweathermap" ]; diff --git a/pkgs/development/python-modules/pypdf/default.nix b/pkgs/development/python-modules/pypdf/default.nix index fc9776d8b31f..42ad1e795efa 100644 --- a/pkgs/development/python-modules/pypdf/default.nix +++ b/pkgs/development/python-modules/pypdf/default.nix @@ -76,10 +76,9 @@ buildPythonPackage rec { ] ++ optional-dependencies.full; - pytestFlagsArray = [ + disabledTestMarks = [ # don't access the network - "-m" - "'not enable_socket'" + "enable_socket" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/pypinyin/default.nix b/pkgs/development/python-modules/pypinyin/default.nix index d780581912dd..8f5011c66981 100644 --- a/pkgs/development/python-modules/pypinyin/default.nix +++ b/pkgs/development/python-modules/pypinyin/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pytest-cov-stub ]; - pytestFlagsArray = [ "tests" ]; + enabledTestPaths = [ "tests" ]; meta = with lib; { description = "Chinese Characters to Pinyin - 汉字转拼音"; diff --git a/pkgs/development/python-modules/pyppmd/default.nix b/pkgs/development/python-modules/pyppmd/default.nix index 5cee2f5fde1c..ba57dd3faa0d 100644 --- a/pkgs/development/python-modules/pyppmd/default.nix +++ b/pkgs/development/python-modules/pyppmd/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "pyppmd" diff --git a/pkgs/development/python-modules/pyquery/default.nix b/pkgs/development/python-modules/pyquery/default.nix index 23e9e5ea7c6b..cc905d0842b9 100644 --- a/pkgs/development/python-modules/pyquery/default.nix +++ b/pkgs/development/python-modules/pyquery/default.nix @@ -42,9 +42,9 @@ buildPythonPackage rec { })) ]; - pytestFlagsArray = [ + disabledTestPaths = [ # requires network - "--deselect=tests/test_pyquery.py::TestWebScrappingEncoding::test_get" + "tests/test_pyquery.py::TestWebScrappingEncoding::test_get" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/pyradiomics/default.nix b/pkgs/development/python-modules/pyradiomics/default.nix index d52270f7d470..1126700a431d 100644 --- a/pkgs/development/python-modules/pyradiomics/default.nix +++ b/pkgs/development/python-modules/pyradiomics/default.nix @@ -55,11 +55,6 @@ buildPythonPackage rec { "lung1_shape2D-original_shape2D" "lung2_shape2D-original_shape2D" ]; - # note the above elements of disabledTests are patterns, not exact tests, - # so simply setting `disabledTests` does not suffice: - pytestFlagsArray = [ - "-k '${toString (lib.intersperse "and" (lib.forEach disabledTests (t: "not ${t}")))}'" - ]; pythonImportsCheck = [ "radiomics" ]; diff --git a/pkgs/development/python-modules/pyscf/default.nix b/pkgs/development/python-modules/pyscf/default.nix index 4454ebb72fda..10075479f7e4 100644 --- a/pkgs/development/python-modules/pyscf/default.nix +++ b/pkgs/development/python-modules/pyscf/default.nix @@ -98,14 +98,14 @@ buildPythonPackage rec { "test_sacasscf_grad" ]; - pytestFlagsArray = [ - "--ignore=pyscf/pbc/tdscf" - "--ignore=pyscf/pbc/gw" - "--ignore-glob=*_slow.*py" - "--ignore-glob=*_kproxy_.*py" - "--ignore-glob=test_proxy.py" - "--ignore-glob=pyscf/nac/test/test_sacasscf.py" - "--ignore-glob=pyscf/grad/test/test_casscf.py" + disabledTestPaths = [ + "pyscf/pbc/tdscf" + "pyscf/pbc/gw" + "*_slow.*py" + "*_kproxy_.*py" + "test_proxy.py" + "pyscf/nac/test/test_sacasscf.py" + "pyscf/grad/test/test_casscf.py" ]; meta = { diff --git a/pkgs/development/python-modules/pyshark/default.nix b/pkgs/development/python-modules/pyshark/default.nix index 73a3e66b63ed..763a89f84831 100644 --- a/pkgs/development/python-modules/pyshark/default.nix +++ b/pkgs/development/python-modules/pyshark/default.nix @@ -74,7 +74,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "pyshark" ]; - pytestFlagsArray = [ "../tests/" ]; + enabledTestPaths = [ "../tests/" ]; meta = with lib; { description = "Python wrapper for tshark, allowing Python packet parsing using Wireshark dissectors"; diff --git a/pkgs/development/python-modules/pystac-client/default.nix b/pkgs/development/python-modules/pystac-client/default.nix index fe8cfca42d5e..828021182f6f 100644 --- a/pkgs/development/python-modules/pystac-client/default.nix +++ b/pkgs/development/python-modules/pystac-client/default.nix @@ -46,10 +46,13 @@ buildPythonPackage rec { requests-mock ]; - pytestFlagsArray = [ + pytestFlags = [ "--benchmark-disable" + ]; + + disabledTestMarks = [ # Tests accessing Internet - "-m 'not vcr'" + "vcr" ]; pythonImportsCheck = [ "pystac_client" ]; diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix index cab104073fd4..41a075b0229a 100644 --- a/pkgs/development/python-modules/pytensor/default.nix +++ b/pkgs/development/python-modules/pytensor/default.nix @@ -73,7 +73,7 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; pythonImportsCheck = [ "pytensor" ]; diff --git a/pkgs/development/python-modules/pytest-factoryboy/default.nix b/pkgs/development/python-modules/pytest-factoryboy/default.nix index 5b10967a0b00..b7e394233346 100644 --- a/pkgs/development/python-modules/pytest-factoryboy/default.nix +++ b/pkgs/development/python-modules/pytest-factoryboy/default.nix @@ -44,7 +44,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ "--ignore=docs" ]; + disabledTestPaths = [ "docs" ]; meta = with lib; { description = "Integration of factory_boy into the pytest runner"; diff --git a/pkgs/development/python-modules/pytest-flask/default.nix b/pkgs/development/python-modules/pytest-flask/default.nix index cc0096db1fd7..19db1697a421 100644 --- a/pkgs/development/python-modules/pytest-flask/default.nix +++ b/pkgs/development/python-modules/pytest-flask/default.nix @@ -36,8 +36,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "pytest_flask" ]; - pytestFlagsArray = lib.optionals stdenv.hostPlatform.isDarwin [ - "--ignore=tests/test_live_server.py" + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + "tests/test_live_server.py" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/python-creole/default.nix b/pkgs/development/python-modules/python-creole/default.nix index afc735192b4c..e800bb213597 100644 --- a/pkgs/development/python-modules/python-creole/default.nix +++ b/pkgs/development/python-modules/python-creole/default.nix @@ -79,15 +79,12 @@ buildPythonPackage rec { # rendering differencenes, likely docutils version mismatch "creole/tests/test_cross_compare_rest.py" "creole/tests/test_rest2html.py" - ]; - - pytestFlagsArray = [ # fixture mismatch after docutils update - "--deselect=creole/rest_tools/clean_writer.py::creole.rest_tools.clean_writer.rest2html" - "--deselect=creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link" - "--deselect=creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_with_at_sign" - "--deselect=creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_with_unknown_protocol" - "--deselect=creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_without_title" + "creole/rest_tools/clean_writer.py::creole.rest_tools.clean_writer.rest2html" + "creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link" + "creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_with_at_sign" + "creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_with_unknown_protocol" + "creole/tests/test_cross_compare_all.py::CrossCompareTests::test_link_without_title" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix index d227d8ac5f8a..587e92193b9a 100644 --- a/pkgs/development/python-modules/python-efl/default.nix +++ b/pkgs/development/python-modules/python-efl/default.nix @@ -66,7 +66,7 @@ buildPythonPackage rec { --replace-fail ".assert_(" ".assertTrue(" ''; - pytestFlagsArray = [ "tests/" ]; + enabledTestPaths = [ "tests/" ]; disabledTestPaths = [ "tests/dbus/test_01_basics.py" # needs dbus daemon diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix index c97468f35778..5bd175b945bb 100644 --- a/pkgs/development/python-modules/python-olm/default.nix +++ b/pkgs/development/python-modules/python-olm/default.nix @@ -41,7 +41,7 @@ buildPythonPackage { pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; meta = { inherit (olm.meta) license maintainers; diff --git a/pkgs/development/python-modules/python-rapidjson/default.nix b/pkgs/development/python-modules/python-rapidjson/default.nix index 2c686ca2d8d4..7d5e92b9407b 100644 --- a/pkgs/development/python-modules/python-rapidjson/default.nix +++ b/pkgs/development/python-modules/python-rapidjson/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - pythonOlder, rapidjson, pytestCheckHook, pytz, @@ -11,17 +10,15 @@ }: buildPythonPackage rec { - version = "1.20"; + version = "1.21"; pname = "python-rapidjson"; - disabled = pythonOlder "3.8"; - pyproject = true; src = fetchFromGitHub { owner = "python-rapidjson"; repo = "python-rapidjson"; tag = "v${version}"; - hash = "sha256-xIswmHQMl5pAqvcTNqeuO3P6MynKt3ahzUgGQroaqmw="; + hash = "sha256-qpq7gNdWDSNTVTqV1rnRffap0VrlHOr4soAY/SXqd1k="; }; patches = [ @@ -39,11 +36,11 @@ buildPythonPackage rec { disabledTestPaths = [ "benchmarks" ]; - meta = with lib; { - changelog = "https://github.com/python-rapidjson/python-rapidjson/blob/${src.rev}/CHANGES.rst"; + meta = { + changelog = "https://github.com/python-rapidjson/python-rapidjson/blob/${src.tag}/CHANGES.rst"; homepage = "https://github.com/python-rapidjson/python-rapidjson"; description = "Python wrapper around rapidjson"; - license = licenses.mit; - maintainers = with maintainers; [ dotlambda ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix index b9bdc8f1f8a9..fbb069d8029e 100644 --- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix +++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix @@ -47,14 +47,18 @@ buildPythonPackage rec { torchvision ]; - pytestFlagsArray = [ - # Requires CUDA access which is not possible in the nix environment. - "-m 'not gpu and not mpi'" + pytestFlags = [ "-Wignore::DeprecationWarning" ]; pythonImportsCheck = [ "pytorch_pfn_extras" ]; + disabledTestMarks = [ + # Requires CUDA access which is not possible in the nix environment. + "gpu" + "mpi" + ]; + disabledTests = [ # AssertionError: assert 4 == 0 # where 4 = .call_count diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix index 2f184fb3f9be..40789b68dbc0 100644 --- a/pkgs/development/python-modules/pyzmq/default.nix +++ b/pkgs/development/python-modules/pyzmq/default.nix @@ -64,9 +64,8 @@ buildPythonPackage rec { rm -r zmq ''; - pytestFlagsArray = [ - "-m" - "'not flaky'" + disabledTestMarks = [ + "flaky" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/qcodes/default.nix b/pkgs/development/python-modules/qcodes/default.nix index 5745474b037e..451a7f43bb45 100644 --- a/pkgs/development/python-modules/qcodes/default.nix +++ b/pkgs/development/python-modules/qcodes/default.nix @@ -155,11 +155,10 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - pytestFlagsArray = [ + pytestFlags = [ "-v" - # Follow upstream with settings - "-m 'not serial'" "--hypothesis-profile ci" + # Follow upstream with settings "--durations=20" ]; @@ -170,6 +169,10 @@ buildPythonPackage rec { "tests/dataset/test_dataset_basic.py" ]; + disabledTestMarks = [ + "serial" + ]; + disabledTests = [ # Tests are time-sensitive and power-consuming # Those tests fails repeatably and are flaky diff --git a/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/pkgs/development/python-modules/qiskit-machine-learning/default.nix index 7729729999c8..4a872f34f554 100644 --- a/pkgs/development/python-modules/qiskit-machine-learning/default.nix +++ b/pkgs/development/python-modules/qiskit-machine-learning/default.nix @@ -58,11 +58,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "qiskit_machine_learning" ]; - pytestFlagsArray = [ + pytestFlags = [ "--durations=10" "--showlocals" "-vv" - "--ignore=test/connectors/test_torch_connector.py" # TODO: fix, get multithreading errors with python3.9, segfaults + ]; + disabledTestPaths = [ + "test/connectors/test_torch_connector.py" # TODO: fix, get multithreading errors with python3.9, segfaults ]; disabledTests = [ # Slow tests >10 s diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix index 9d7273332481..47ef8ed31560 100644 --- a/pkgs/development/python-modules/rasterio/default.nix +++ b/pkgs/development/python-modules/rasterio/default.nix @@ -84,7 +84,7 @@ buildPythonPackage rec { rm -r rasterio # prevent importing local rasterio ''; - pytestFlagsArray = [ "-m 'not network'" ]; + disabledTestMarks = [ "network" ]; disabledTests = [ # flaky diff --git a/pkgs/development/python-modules/ratelimit/default.nix b/pkgs/development/python-modules/ratelimit/default.nix index d754357081c9..86721efb55d2 100644 --- a/pkgs/development/python-modules/ratelimit/default.nix +++ b/pkgs/development/python-modules/ratelimit/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { pytest-cov-stub ]; - pytestFlagsArray = [ "tests" ]; + enabledTestPaths = [ "tests" ]; pythonImportsCheck = [ "ratelimit" ]; diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 75ec5b390020..2aecf3ac308d 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -62,10 +62,10 @@ buildPythonPackage rec { ++ optional-dependencies.networkx ++ optional-dependencies.html; - pytestFlagsArray = [ + disabledTestPaths = [ # requires network access - "--deselect=rdflib/__init__.py::rdflib" - "--deselect=test/jsonld/test_onedotone.py::test_suite" + "rdflib/__init__.py::rdflib" + "test/jsonld/test_onedotone.py::test_suite" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix index ced27b5ebd1c..b81f576584f5 100644 --- a/pkgs/development/python-modules/reproject/default.nix +++ b/pkgs/development/python-modules/reproject/default.nix @@ -59,14 +59,20 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ - "build/lib*" + pytestFlags = [ # Avoid failure due to user warning: Distutils was imported before Setuptools - "-p no:warnings" - # Uses network - "--ignore build/lib*/reproject/interpolation/" + "-pno:warnings" # prevent "'filterwarnings' not found in `markers` configuration option" error - "-o 'markers=filterwarnings'" + "-omarkers=filterwarnings" + ]; + + enabledTestPaths = [ + "build/lib*" + ]; + + disabledTestPaths = [ + # Uses network + "build/lib*/reproject/interpolation/" ]; pythonImportsCheck = [ "reproject" ]; diff --git a/pkgs/development/python-modules/returns/default.nix b/pkgs/development/python-modules/returns/default.nix index 8e997e9ab002..82e00f458316 100644 --- a/pkgs/development/python-modules/returns/default.nix +++ b/pkgs/development/python-modules/returns/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "returns" ]; - pytestFlagsArray = [ "--ignore=typesafety" ]; + disabledTestPaths = [ "typesafety" ]; meta = with lib; { description = "Make your functions return something meaningful, typed, and safe"; diff --git a/pkgs/development/python-modules/safe-pysha3/default.nix b/pkgs/development/python-modules/safe-pysha3/default.nix index be79b88ef4ad..11b18b6c3237 100644 --- a/pkgs/development/python-modules/safe-pysha3/default.nix +++ b/pkgs/development/python-modules/safe-pysha3/default.nix @@ -2,31 +2,32 @@ lib, buildPythonPackage, fetchPypi, + setuptools, pythonOlder, }: buildPythonPackage rec { pname = "safe-pysha3"; - version = "1.0.4"; - format = "setuptools"; - disabled = pythonOlder "3.8"; + version = "1.0.5"; + pyproject = true; + + disabled = pythonOlder "3.9"; src = fetchPypi { - inherit pname version; - hash = "sha256-5CkUax7dGYssqTSiBGplZWxdMbDsiUu9YFUSf03q/xc="; + pname = "safe_pysha3"; + inherit version; + hash = "sha256-iM6q1q9La97NL1SzGtDl5eIQ1PXsq7G9H9NTmtYbe/E="; }; - # AttributeError: 'Keccak_224Tests' object has no attribute 'failIf'. - postPatch = '' - substituteInPlace tests.py \ - --replace "failIf" "assertFalse" - ''; + build-system = [ + setuptools + ]; pythonImportsCheck = [ "sha3" ]; meta = { changelog = "https://github.com/5afe/pysha3/releases/tag/v${version}"; - description = "SHA-3 (Keccak) for Python 3.9 - 3.11"; + description = "SHA-3 (Keccak) for Python 3.9 - 3.13"; homepage = "https://github.com/5afe/pysha3"; license = lib.licenses.psfl; maintainers = with lib.maintainers; [ wegank ]; diff --git a/pkgs/development/python-modules/schemainspect/default.nix b/pkgs/development/python-modules/schemainspect/default.nix index 36095d9bf981..7a3c322168f0 100644 --- a/pkgs/development/python-modules/schemainspect/default.nix +++ b/pkgs/development/python-modules/schemainspect/default.nix @@ -92,11 +92,15 @@ buildPythonPackage { "test_weird_names" ]; - pytestFlagsArray = [ + pytestFlags = [ "-x" "-svv" + ]; + + enabledTestPaths = [ "tests" ]; + pythonImportsCheck = [ "schemainspect" ]; postUnpack = '' diff --git a/pkgs/development/python-modules/scikit-build-core/default.nix b/pkgs/development/python-modules/scikit-build-core/default.nix index b91717d89972..ebca328cc73a 100644 --- a/pkgs/development/python-modules/scikit-build-core/default.nix +++ b/pkgs/development/python-modules/scikit-build-core/default.nix @@ -76,7 +76,10 @@ buildPythonPackage rec { # cmake is only used for tests dontUseCmakeConfigure = true; - pytestFlagsArray = [ "-m 'not isolated and not network'" ]; + disabledTestMarks = [ + "isolated" + "network" + ]; disabledTestPaths = [ # store permissions issue in Nix: diff --git a/pkgs/development/python-modules/scikit-image/default.nix b/pkgs/development/python-modules/scikit-image/default.nix index 1272f89ef1f5..2615ca14450e 100644 --- a/pkgs/development/python-modules/scikit-image/default.nix +++ b/pkgs/development/python-modules/scikit-image/default.nix @@ -105,36 +105,34 @@ let rm -r skimage ''; - disabledTestPaths = [ - # Requires network access (actually some data is loaded via `skimage._shared.testing.fetch` in the global scope, which calls `pytest.skip` when a network is unaccessible, leading to a pytest collection error). - "${installedPackageRoot}/skimage/filters/rank/tests/test_rank.py" - ]; pytestFlagsArray = [ "${installedPackageRoot}" "--pyargs" "skimage" + ]; + + disabledTestPaths = [ + # Requires network access (actually some data is loaded via `skimage._shared.testing.fetch` in the global scope, which calls `pytest.skip` when a network is unaccessible, leading to a pytest collection error). + "${installedPackageRoot}/skimage/filters/rank/tests/test_rank.py" + + # These tests require network access + "skimage/data/test_data.py::test_skin" + "skimage/data/tests/test_data.py::test_skin" + "skimage/io/tests/test_io.py::test_imread_http_url" + "skimage/restoration/tests/test_rolling_ball.py::test_ndim" ] - ++ builtins.map (testid: "--deselect=" + testid) ( - [ - # These tests require network access - "skimage/data/test_data.py::test_skin" - "skimage/data/tests/test_data.py::test_skin" - "skimage/io/tests/test_io.py::test_imread_http_url" - "skimage/restoration/tests/test_rolling_ball.py::test_ndim" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Matplotlib tests are broken inside darwin sandbox - "skimage/feature/tests/test_util.py::test_plot_matches" - "skimage/filters/tests/test_thresholding.py::TestSimpleImage::test_try_all_threshold" - "skimage/io/tests/test_mpl_imshow.py::" - # See https://github.com/scikit-image/scikit-image/issues/7061 and https://github.com/scikit-image/scikit-image/issues/7104 - "skimage/measure/tests/test_fit.py" - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - # https://github.com/scikit-image/scikit-image/issues/7104 - "skimage/measure/tests/test_moments.py" - ] - ); + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Matplotlib tests are broken inside darwin sandbox + "skimage/feature/tests/test_util.py::test_plot_matches" + "skimage/filters/tests/test_thresholding.py::TestSimpleImage::test_try_all_threshold" + "skimage/io/tests/test_mpl_imshow.py::" + # See https://github.com/scikit-image/scikit-image/issues/7061 and https://github.com/scikit-image/scikit-image/issues/7104 + "skimage/measure/tests/test_fit.py" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + # https://github.com/scikit-image/scikit-image/issues/7104 + "skimage/measure/tests/test_moments.py" + ]; # Check cythonized modules pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix index a16a84c1adb8..b264eabd5ec1 100644 --- a/pkgs/development/python-modules/scikit-learn/default.nix +++ b/pkgs/development/python-modules/scikit-learn/default.nix @@ -23,6 +23,8 @@ }: buildPythonPackage rec { + __structuredAttrs = true; + pname = "scikit-learn"; version = "1.6.1"; pyproject = true; @@ -85,6 +87,12 @@ buildPythonPackage rec { "test_logistic_regression_path_convergence_fail" "test_linalg_warning_with_newton_solver" "test_newton_cholesky_fallback_to_lbfgs" + + # NuSVC memmap tests causes segmentation faults in certain environments + # (e.g. Hydra Darwin machines) related to a long-standing joblib issue + # (https://github.com/joblib/joblib/issues/563). See also: + # https://github.com/scikit-learn/scikit-learn/issues/17582 + "NuSVC and memmap" ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ # doesn't seem to produce correct results? @@ -92,19 +100,11 @@ buildPythonPackage rec { "test_sparse_input" ]; - pytestFlagsArray = [ + pytestFlags = [ # verbose build outputs needed to debug hard-to-reproduce hydra failures "-v" "--pyargs" "sklearn" - - # NuSVC memmap tests causes segmentation faults in certain environments - # (e.g. Hydra Darwin machines) related to a long-standing joblib issue - # (https://github.com/joblib/joblib/issues/563). See also: - # https://github.com/scikit-learn/scikit-learn/issues/17582 - # Since we are overriding '-k' we need to include the 'disabledTests' from above manually. - "-k" - "'not (NuSVC and memmap) ${toString (lib.forEach disabledTests (t: "and not ${t}"))}'" ]; preCheck = '' diff --git a/pkgs/development/python-modules/scipp/default.nix b/pkgs/development/python-modules/scipp/default.nix index 1a8d5c800759..3d188c8aa78a 100644 --- a/pkgs/development/python-modules/scipp/default.nix +++ b/pkgs/development/python-modules/scipp/default.nix @@ -90,7 +90,7 @@ buildPythonPackage rec { h5py hypothesis ]; - pytestFlagsArray = [ + pytestFlags = [ # See https://github.com/scipp/scipp/issues/3721 "--hypothesis-profile=ci" ]; diff --git a/pkgs/development/python-modules/setuptools-git-versioning/default.nix b/pkgs/development/python-modules/setuptools-git-versioning/default.nix index 90e0537a81d0..28c69347f248 100644 --- a/pkgs/development/python-modules/setuptools-git-versioning/default.nix +++ b/pkgs/development/python-modules/setuptools-git-versioning/default.nix @@ -53,8 +53,7 @@ buildPythonPackage rec { ''; # limit tests because the full suite takes several minutes to run - pytestFlagsArray = [ - "-m" + enabledTestMarks = [ "important" ]; diff --git a/pkgs/development/python-modules/simple-parsing/default.nix b/pkgs/development/python-modules/simple-parsing/default.nix index 8943716ef4b6..c82f5434b786 100644 --- a/pkgs/development/python-modules/simple-parsing/default.nix +++ b/pkgs/development/python-modules/simple-parsing/default.nix @@ -66,7 +66,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ "--benchmark-disable" ]; + pytestFlags = [ "--benchmark-disable" ]; disabledTests = [ # AssertionError diff --git a/pkgs/development/python-modules/simpy/default.nix b/pkgs/development/python-modules/simpy/default.nix index 949d6b43cbfe..c85eb0c4ad81 100644 --- a/pkgs/development/python-modules/simpy/default.nix +++ b/pkgs/development/python-modules/simpy/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlags = [ + enabledTestPaths = [ "tests" ]; diff --git a/pkgs/development/python-modules/six/default.nix b/pkgs/development/python-modules/six/default.nix index 93ff330ef7a7..340118a3216a 100644 --- a/pkgs/development/python-modules/six/default.nix +++ b/pkgs/development/python-modules/six/default.nix @@ -23,14 +23,10 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = - if isPyPy then - [ - # uses ctypes to find native library - "--deselect=test_six.py::test_move_items" - ] - else - null; + disabledTestPaths = lib.optionals isPyPy [ + # uses ctypes to find native library + "test_six.py::test_move_items" + ]; pythonImportsCheck = [ "six" ]; diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix index 21613b56bde0..6d0901f0f875 100644 --- a/pkgs/development/python-modules/slicedimage/default.nix +++ b/pkgs/development/python-modules/slicedimage/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; # Ignore tests which require setup, check again if disabledTestFiles can be used - pytestFlagsArray = [ "--ignore tests/io_" ]; + disabledTestPaths = [ "tests/io_" ]; pythonImportsCheck = [ "slicedimage" ]; diff --git a/pkgs/development/python-modules/smbus-cffi/default.nix b/pkgs/development/python-modules/smbus-cffi/default.nix index 7d76327862c9..9b1b97158a49 100644 --- a/pkgs/development/python-modules/smbus-cffi/default.nix +++ b/pkgs/development/python-modules/smbus-cffi/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { ''; # requires hardware access - pytestFlagsArray = [ "--ignore=test/test_smbus_integration.py" ]; + disabledTestPaths = [ "test/test_smbus_integration.py" ]; nativeCheckInputs = [ py diff --git a/pkgs/development/python-modules/softlayer/default.nix b/pkgs/development/python-modules/softlayer/default.nix index 1d188cd39cde..a05d3f4b73af 100644 --- a/pkgs/development/python-modules/softlayer/default.nix +++ b/pkgs/development/python-modules/softlayer/default.nix @@ -72,12 +72,10 @@ buildPythonPackage rec { export HOME=$(mktemp -d) ''; - pytestFlagsArray = lib.optionals stdenv.hostPlatform.isDarwin [ - # SoftLayer.exceptions.TransportError: TransportError(0): ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')) - "--deselect=tests/CLI/modules/hardware/hardware_basic_tests.py::HardwareCLITests" - ]; - disabledTestPaths = [ + # SoftLayer.exceptions.TransportError: TransportError(0): ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')) + "tests/CLI/modules/hardware/hardware_basic_tests.py::HardwareCLITests" + # Test fails with ConnectionError trying to connect to api.softlayer.com "tests/transports/soap_tests.py.unstable" ]; diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix index 47ca112287ca..8c76a932c8bd 100644 --- a/pkgs/development/python-modules/spacy/default.nix +++ b/pkgs/development/python-modules/spacy/default.nix @@ -106,7 +106,7 @@ buildPythonPackage rec { cd $out ''; - pytestFlagsArray = [ "-m 'slow'" ]; + disabledTestMarks = [ "slow" ]; disabledTests = [ # touches network diff --git a/pkgs/development/python-modules/sqlbag/default.nix b/pkgs/development/python-modules/sqlbag/default.nix index 4667a7957df1..f3cf77bbb993 100644 --- a/pkgs/development/python-modules/sqlbag/default.nix +++ b/pkgs/development/python-modules/sqlbag/default.nix @@ -58,6 +58,11 @@ buildPythonPackage { preCheck = '' export PGUSER="nixbld"; ''; + + enabledTestPaths = [ + "tests" + ]; + disabledTests = [ # These all fail with "List argument must consist only of tuples or dictionaries": # Related issue: https://github.com/djrobstep/sqlbag/issues/14 @@ -70,10 +75,9 @@ buildPythonPackage { "test_transaction_separation" ]; - pytestFlagsArray = [ + pytestFlags = [ "-x" "-svv" - "tests" ]; pythonImportsCheck = [ "sqlbag" ]; diff --git a/pkgs/development/python-modules/starkbank-ecdsa/default.nix b/pkgs/development/python-modules/starkbank-ecdsa/default.nix index cb8d939006e2..fc8e079b1674 100644 --- a/pkgs/development/python-modules/starkbank-ecdsa/default.nix +++ b/pkgs/development/python-modules/starkbank-ecdsa/default.nix @@ -26,11 +26,14 @@ buildPythonPackage rec { cd tests ''; - pytestFlagsArray = [ - "-v" + enabledTestPaths = [ "*.py" ]; + pytestFlags = [ + "-v" + ]; + pythonImportsCheck = [ "ellipticcurve" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/swh-model/default.nix b/pkgs/development/python-modules/swh-model/default.nix index 31e0cba03ac2..ffbeb1a0f98b 100644 --- a/pkgs/development/python-modules/swh-model/default.nix +++ b/pkgs/development/python-modules/swh-model/default.nix @@ -68,11 +68,11 @@ buildPythonPackage rec { types-deprecated ]; - pytestFlagsArray = lib.optionals (stdenv.hostPlatform.isDarwin) [ + disabledTestPaths = lib.optionals (stdenv.hostPlatform.isDarwin) [ # OSError: [Errno 92] Illegal byte sequence - "--deselect swh/model/tests/test_cli.py::TestIdentify::test_exclude" - "--deselect swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude" - "--deselect swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude_trailing" + "swh/model/tests/test_cli.py::TestIdentify::test_exclude" + "swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude" + "swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude_trailing" ]; meta = { diff --git a/pkgs/development/python-modules/tbats/default.nix b/pkgs/development/python-modules/tbats/default.nix index 1f0545b49caf..c2b2efff6261 100644 --- a/pkgs/development/python-modules/tbats/default.nix +++ b/pkgs/development/python-modules/tbats/default.nix @@ -32,15 +32,17 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ + + enabledTestPaths = [ # test_R folder is just for comparison of results with R lib # we need only test folder "test/" + ]; - # several tests has same name, so we use --deselect instead of disableTests - + # several tests has same name, so we use --deselect instead of disableTests + dilsabledTestPaths = [ # Test execution is too long > 15 min - "--deselect=test/tbats/TBATS_test.py::TestTBATS::test_fit_predict_trigonometric_seasonal" + "test/tbats/TBATS_test.py::TestTBATS::test_fit_predict_trigonometric_seasonal" ]; pythonImportsCheck = [ "tbats" ]; diff --git a/pkgs/development/python-modules/tensorflow-datasets/default.nix b/pkgs/development/python-modules/tensorflow-datasets/default.nix index 27a4a29f93fb..a10db8f0a0aa 100644 --- a/pkgs/development/python-modules/tensorflow-datasets/default.nix +++ b/pkgs/development/python-modules/tensorflow-datasets/default.nix @@ -138,12 +138,6 @@ buildPythonPackage rec { zarr ]; - pytestFlagsArray = [ - # AttributeError: 'NoneType' object has no attribute 'Table' - "--deselect=tensorflow_datasets/core/file_adapters_test.py::test_read_write" - "--deselect=tensorflow_datasets/text/c4_wsrs/c4_wsrs_test.py::C4WSRSTest" - ]; - disabledTests = [ # Since updating apache-beam to 2.65.0 # RuntimeError: Unable to pickle fn CallableWrapperDoFn...: maximum recursion depth exceeded @@ -208,6 +202,10 @@ buildPythonPackage rec { # Require `gcld3` and `nltk.punkt` which are not packaged in `nixpkgs`. "tensorflow_datasets/text/c4_test.py" "tensorflow_datasets/text/c4_utils_test.py" + + # AttributeError: 'NoneType' object has no attribute 'Table' + "tensorflow_datasets/core/file_adapters_test.py::test_read_write" + "tensorflow_datasets/text/c4_wsrs/c4_wsrs_test.py::C4WSRSTest" ]; meta = { diff --git a/pkgs/development/python-modules/torcheval/default.nix b/pkgs/development/python-modules/torcheval/default.nix index df26b6b9af02..aac1a987bf32 100644 --- a/pkgs/development/python-modules/torcheval/default.nix +++ b/pkgs/development/python-modules/torcheval/default.nix @@ -72,44 +72,49 @@ buildPythonPackage { torchvision ]; - pytestFlagsArray = [ + pytestFlags = [ "-v" - "tests/" + ]; + enabledTestPaths = [ + "tests/" + ]; + + disabledTestPaths = [ # -- tests/metrics/audio/test_fad.py -- # Touch filesystem and require network access. # torchaudio.utils.download_asset("models/vggish.pt") -> PermissionError: [Errno 13] Permission denied: '/homeless-shelter' - "--deselect=tests/metrics/audio/test_fad.py::TestFAD::test_vggish_fad" - "--deselect=tests/metrics/audio/test_fad.py::TestFAD::test_vggish_fad_merge" + "tests/metrics/audio/test_fad.py::TestFAD::test_vggish_fad" + "tests/metrics/audio/test_fad.py::TestFAD::test_vggish_fad_merge" # -- tests/metrics/image/test_fid.py -- # Touch filesystem and require network access. # models.inception_v3(weights=weights) -> PermissionError: [Errno 13] Permission denied: '/homeless-shelter' - "--deselect=tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_invalid_input" - "--deselect=tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_random_data_custom_model" - "--deselect=tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_random_data_default_model" - "--deselect=tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_with_dissimilar_inputs" - "--deselect=tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_with_similar_inputs" + "tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_invalid_input" + "tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_random_data_custom_model" + "tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_random_data_default_model" + "tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_with_dissimilar_inputs" + "tests/metrics/image/test_fid.py::TestFrechetInceptionDistance::test_fid_with_similar_inputs" # -- tests/metrics/functional/text/test_perplexity.py -- # AssertionError: Scalars are not close! # Expected 3.537154912949 but got 3.53715443611145 - "--deselect=tests/metrics/functional/text/test_perplexity.py::Perplexity::test_perplexity_with_ignore_index" + "tests/metrics/functional/text/test_perplexity.py::Perplexity::test_perplexity_with_ignore_index" # -- tests/metrics/image/test_psnr.py -- # AssertionError: Scalars are not close! # Expected 7.781850814819336 but got 7.781772613525391 - "--deselect=tests/metrics/image/test_psnr.py::TestPeakSignalNoiseRatio::test_psnr_with_random_data" + "tests/metrics/image/test_psnr.py::TestPeakSignalNoiseRatio::test_psnr_with_random_data" # -- tests/metrics/regression/test_mean_squared_error.py -- # AssertionError: Scalars are not close! # Expected -640.4547729492188 but got -640.4707641601562 - "--deselect=tests/metrics/regression/test_mean_squared_error.py::TestMeanSquaredError::test_mean_squared_error_class_update_input_shape_different" + "tests/metrics/regression/test_mean_squared_error.py::TestMeanSquaredError::test_mean_squared_error_class_update_input_shape_different" # -- tests/metrics/window/test_mean_squared_error.py -- # AssertionError: Scalars are not close! # Expected 0.0009198983898386359 but got 0.0009198188781738281 - "--deselect=tests/metrics/window/test_mean_squared_error.py::TestMeanSquaredError::test_mean_squared_error_class_update_input_shape_different" + "tests/metrics/window/test_mean_squared_error.py::TestMeanSquaredError::test_mean_squared_error_class_update_input_shape_different" ] # These tests error on darwin platforms. @@ -121,16 +126,16 @@ buildPythonPackage { # Expected TensorOptions(dtype=float, device=cpu, ...), got TensorOptions(dtype=float, device=mps:0, ...) ++ lib.optional stdenv.hostPlatform.isDarwin [ # -- tests/metrics/test_synclib.py -- - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_complex_mixed_state_sync" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_complex_mixed_state_sync" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_empty_tensor_list_sync_state" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_sync_dtype_and_shape" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_tensor_list_sync_states" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_tensor_dict_sync_states" - "--deselect=tests/metrics/test_synclib.py::SynclibTest::test_tensor_sync_states" + "tests/metrics/test_synclib.py::SynclibTest::test_complex_mixed_state_sync" + "tests/metrics/test_synclib.py::SynclibTest::test_complex_mixed_state_sync" + "tests/metrics/test_synclib.py::SynclibTest::test_empty_tensor_list_sync_state" + "tests/metrics/test_synclib.py::SynclibTest::test_sync_dtype_and_shape" + "tests/metrics/test_synclib.py::SynclibTest::test_tensor_list_sync_states" + "tests/metrics/test_synclib.py::SynclibTest::test_tensor_dict_sync_states" + "tests/metrics/test_synclib.py::SynclibTest::test_tensor_sync_states" # -- tests/metrics/test_toolkit.py -- - "--deselect=tests/metrics/test_toolkit.py::MetricToolkitTest::test_metric_sync" - "--deselect=tests/metrics/test_toolkit.py::MetricCollectionToolkitTest::test_metric_collection_sync" + "tests/metrics/test_toolkit.py::MetricToolkitTest::test_metric_sync" + "tests/metrics/test_toolkit.py::MetricCollectionToolkitTest::test_metric_collection_sync" ]; meta = { diff --git a/pkgs/development/python-modules/trino-python-client/default.nix b/pkgs/development/python-modules/trino-python-client/default.nix index 251d3ef3c4af..333d3fc2ee2d 100644 --- a/pkgs/development/python-modules/trino-python-client/default.nix +++ b/pkgs/development/python-modules/trino-python-client/default.nix @@ -59,7 +59,7 @@ buildPythonPackage rec { "tests/integration/test_sqlalchemy_integration.py" ]; - pytestFlagsArray = [ "-k 'not auth'" ]; + disabledTestMarks = [ "auth" ]; meta = with lib; { changelog = "https://github.com/trinodb/trino-python-client/blob/${version}/CHANGES.md"; diff --git a/pkgs/development/python-modules/txtai/default.nix b/pkgs/development/python-modules/txtai/default.nix index 8f58b0d0a3e7..e4ea71c3eedc 100644 --- a/pkgs/development/python-modules/txtai/default.nix +++ b/pkgs/development/python-modules/txtai/default.nix @@ -289,23 +289,26 @@ buildPythonPackage { ++ optional-dependencies.api ++ optional-dependencies.similarity; + enabledTestPaths = [ + "test/python/test*.py" + ]; + # The deselected paths depend on the huggingface hub and should be run as a passthru test # disabledTestPaths won't work as the problem is with the classes containing the tests # (in other words, it fails on __init__) - pytestFlagsArray = [ - "test/python/test*.py" - "--deselect=test/python/testagent.py" - "--deselect=test/python/testcloud.py" - "--deselect=test/python/testconsole.py" - "--deselect=test/python/testembeddings.py" - "--deselect=test/python/testgraph.py" - "--deselect=test/python/testapi/testapiembeddings.py" - "--deselect=test/python/testapi/testapipipelines.py" - "--deselect=test/python/testapi/testapiworkflow.py" - "--deselect=test/python/testdatabase/testclient.py" - "--deselect=test/python/testdatabase/testduckdb.py" - "--deselect=test/python/testdatabase/testencoder.py" - "--deselect=test/python/testworkflow.py" + disabledTestPaths = [ + "test/python/testagent.py" + "test/python/testcloud.py" + "test/python/testconsole.py" + "test/python/testembeddings.py" + "test/python/testgraph.py" + "test/python/testapi/testapiembeddings.py" + "test/python/testapi/testapipipelines.py" + "test/python/testapi/testapiworkflow.py" + "test/python/testdatabase/testclient.py" + "test/python/testdatabase/testduckdb.py" + "test/python/testdatabase/testencoder.py" + "test/python/testworkflow.py" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/typogrify/default.nix b/pkgs/development/python-modules/typogrify/default.nix index 333814717e69..3a73f82e2059 100644 --- a/pkgs/development/python-modules/typogrify/default.nix +++ b/pkgs/development/python-modules/typogrify/default.nix @@ -26,8 +26,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "typogrify.filters" ]; - pytestFlagsArray = [ + pytestFlags = [ "--doctest-modules" + ]; + + enabledTestPaths = [ "typogrify/filters.py" "typogrify/packages/titlecase/tests.py" ]; diff --git a/pkgs/development/python-modules/unstructured-client/default.nix b/pkgs/development/python-modules/unstructured-client/default.nix index 666e1b0a55ac..b3c58f576e57 100644 --- a/pkgs/development/python-modules/unstructured-client/default.nix +++ b/pkgs/development/python-modules/unstructured-client/default.nix @@ -62,10 +62,11 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ - # see test-unit in Makefile + # see test-unit in Makefile + enabledTestPaths = [ "_test_unstructured_client" - "-k" + ]; + enabledTests = [ "unit" ]; diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix index 950606c53d01..2b3f67d2a0d2 100644 --- a/pkgs/development/python-modules/urwid/default.nix +++ b/pkgs/development/python-modules/urwid/default.nix @@ -67,7 +67,7 @@ buildPythonPackage rec { env.LC_ALL = "en_US.UTF8"; - pytestFlagsArray = [ "tests" ]; + enabledTestPaths = [ "tests" ]; disabledTests = [ # Flaky tests diff --git a/pkgs/development/python-modules/uuid6/default.nix b/pkgs/development/python-modules/uuid6/default.nix index 709f7156e645..256816442b56 100644 --- a/pkgs/development/python-modules/uuid6/default.nix +++ b/pkgs/development/python-modules/uuid6/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ + enabledTestPaths = [ "test/" ]; diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix index cda85ed6c226..bde90d49d258 100644 --- a/pkgs/development/python-modules/uvloop/default.nix +++ b/pkgs/development/python-modules/uvloop/default.nix @@ -67,31 +67,28 @@ buildPythonPackage rec { psutil ]; - pytestFlagsArray = [ - # Tries to run "env", but fails to find it, even with coreutils provided - "--deselect=tests/test_process.py::Test_UV_Process::test_process_env_2" - "--deselect=tests/test_process.py::Test_AIO_Process::test_process_env_2" - # AssertionError: b'' != b'out\n' - "--deselect=tests/test_process.py::Test_UV_Process::test_process_streams_redirect" - "--deselect=tests/test_process.py::Test_AIO_Process::test_process_streams_redirect" - # Depends on performance of builder - "--deselect=tests/test_base.py::TestBaseUV.test_call_at" - # Pointless and flaky (at least on darwin, depending on the sandbox perhaps) - "--deselect=tests/test_dns.py" - ] - ++ lib.optionals (pythonOlder "3.11") [ - "--deselect=tests/test_tcp.py::Test_UV_TCPSSL::test_create_connection_ssl_failed_certificat" - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - # Segmentation fault - "--deselect=tests/test_fs_event.py::Test_UV_FS_EVENT_RENAME::test_fs_event_rename" - # Broken: https://github.com/NixOS/nixpkgs/issues/160904 - "--deselect=tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost" - ]; - disabledTestPaths = [ # ignore code linting tests "tests/test_sourcecode.py" + # Tries to run "env", but fails to find it, even with coreutils provided + "tests/test_process.py::Test_UV_Process::test_process_env_2" + "tests/test_process.py::Test_AIO_Process::test_process_env_2" + # AssertionError: b'' != b'out\n' + "tests/test_process.py::Test_UV_Process::test_process_streams_redirect" + "tests/test_process.py::Test_AIO_Process::test_process_streams_redirect" + # Depends on performance of builder + "tests/test_base.py::TestBaseUV.test_call_at" + # Pointless and flaky (at least on darwin, depending on the sandbox perhaps) + "tests/test_dns.py" + ] + ++ lib.optionals (pythonOlder "3.11") [ + "tests/test_tcp.py::Test_UV_TCPSSL::test_create_connection_ssl_failed_certificat" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + # Segmentation fault + "tests/test_fs_event.py::Test_UV_FS_EVENT_RENAME::test_fs_event_rename" + # Broken: https://github.com/NixOS/nixpkgs/issues/160904 + "tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost" ]; preCheck = '' diff --git a/pkgs/development/python-modules/valkey/default.nix b/pkgs/development/python-modules/valkey/default.nix index ed774e51238e..820f33f5385a 100644 --- a/pkgs/development/python-modules/valkey/default.nix +++ b/pkgs/development/python-modules/valkey/default.nix @@ -76,7 +76,10 @@ buildPythonPackage rec { ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ "-m 'not onlycluster and not ssl'" ]; + disabledTestMarks = [ + "onlycluster" + "ssl" + ]; disabledTests = [ # valkey.sentinel.MasterNotFoundError: No master found for 'valkey-py-test' diff --git a/pkgs/development/python-modules/warcio/default.nix b/pkgs/development/python-modules/warcio/default.nix index cb9536e18d41..6ae2b535ea43 100644 --- a/pkgs/development/python-modules/warcio/default.nix +++ b/pkgs/development/python-modules/warcio/default.nix @@ -51,9 +51,12 @@ buildPythonPackage rec { pytest-cov-stub ]; - pytestFlagsArray = [ + pytestFlags = [ "--offline" - "--ignore=test/test_capture_http_proxy.py" + ]; + + disabledTestPaths = [ + "test/test_capture_http_proxy.py" ]; pythonImportsCheck = [ "warcio" ]; diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix index a133e122fa7b..e91fc76add79 100644 --- a/pkgs/development/python-modules/watchdog/default.nix +++ b/pkgs/development/python-modules/watchdog/default.nix @@ -36,53 +36,46 @@ buildPythonPackage rec { ++ optional-dependencies.watchmedo ++ lib.optionals (pythonOlder "3.13") [ eventlet ]; - pytestFlagsArray = [ - "--deselect=tests/test_emitter.py::test_create_wrong_encoding" - "--deselect=tests/test_emitter.py::test_close" - # assert cap.out.splitlines(keepends=False).count('+++++ 0') == 2 != 3 - "--deselect=tests/test_0_watchmedo.py::test_auto_restart_on_file_change_debounce" - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - # fails to stop process in teardown - "--deselect=tests/test_0_watchmedo.py::test_auto_restart_subprocess_termination" - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - # FileCreationEvent != FileDeletionEvent - "--deselect=tests/test_emitter.py::test_separate_consecutive_moves" - "--deselect=tests/test_observers_polling.py::test___init__" - # segfaults - "--deselect=tests/test_delayed_queue.py::test_delayed_get" - "--deselect=tests/test_emitter.py::test_delete" - # AttributeError: '_thread.RLock' object has no attribute 'key'" - "--deselect=tests/test_skip_repeats_queue.py::test_eventlet_monkey_patching" - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - # segfaults - "--deselect=tests/test_delayed_queue.py::test_delayed_get" - "--deselect=tests/test_0_watchmedo.py::test_tricks_from_file" - "--deselect=tests/test_fsevents.py::test_watcher_deletion_while_receiving_events_1" - "--deselect=tests/test_fsevents.py::test_watcher_deletion_while_receiving_events_2" - "--deselect=tests/test_skip_repeats_queue.py::test_eventlet_monkey_patching" - "--deselect=tests/test_fsevents.py::test_recursive_check_accepts_relative_paths" - # fsevents:fsevents.py:318 Unhandled exception in FSEventsEmitter - "--deselect=tests/test_fsevents.py::test_watchdog_recursive" - # SystemError: Cannot start fsevents stream. Use a kqueue or polling observer... - "--deselect=tests/test_fsevents.py::test_add_watch_twice" - # fsevents:fsevents.py:318 Unhandled exception in FSEventsEmitter - "--deselect=ests/test_fsevents.py::test_recursive_check_accepts_relative_paths" - # gets stuck - "--deselect=tests/test_fsevents.py::test_converting_cfstring_to_pyunicode" - ]; - disabledTestPaths = [ + "tests/test_emitter.py::test_create_wrong_encoding" + "tests/test_emitter.py::test_close" # tests timeout easily "tests/test_inotify_buffer.py" + # assert cap.out.splitlines(keepends=False).count('+++++ 0') == 2 != 3 + "tests/test_0_watchmedo.py::test_auto_restart_on_file_change_debounce" ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ # segfaults the testsuite "tests/test_emitter.py" # unsupported on x86_64-darwin "tests/test_fsevents.py" + # fails to stop process in teardown + "tests/test_0_watchmedo.py::test_auto_restart_subprocess_termination" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # FileCreationEvent != FileDeletionEvent + "tests/test_emitter.py::test_separate_consecutive_moves" + "tests/test_observers_polling.py::test___init__" + # segfaults + "tests/test_delayed_queue.py::test_delayed_get" + "tests/test_emitter.py::test_delete" + # AttributeError: '_thread.RLock' object has no attribute 'key'" + "tests/test_skip_repeats_queue.py::test_eventlet_monkey_patching" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + # segfaults + "tests/test_delayed_queue.py::test_delayed_get" + "tests/test_0_watchmedo.py::test_tricks_from_file" + "tests/test_fsevents.py::test_watcher_deletion_while_receiving_events_1" + "tests/test_fsevents.py::test_watcher_deletion_while_receiving_events_2" + "tests/test_skip_repeats_queue.py::test_eventlet_monkey_patching" + "tests/test_fsevents.py::test_recursive_check_accepts_relative_paths" + # fsevents:fsevents.py:318 Unhandled exception in FSEventsEmitter + "tests/test_fsevents.py::test_watchdog_recursive" + # SystemError: Cannot start fsevents stream. Use a kqueue or polling observer... + "tests/test_fsevents.py::test_add_watch_twice" + # gets stuck + "tests/test_fsevents.py::test_converting_cfstring_to_pyunicode" ]; pythonImportsCheck = [ "watchdog" ]; diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index b51326f7a373..70829aecb81a 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -71,10 +71,10 @@ buildPythonPackage rec { "tests/test_serving.py" ]; - pytestFlagsArray = [ + disabledTestMarks = [ # don't run tests that are marked with filterwarnings, they fail with # warnings._OptionError: unknown warning category: 'pytest.PytestUnraisableExceptionWarning' - "-m 'not filterwarnings'" + "filterwarnings" ]; passthru.tests = { diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index db9a1b5986e7..25beb504f882 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -142,9 +142,6 @@ let # our patches cause the tests to fail doCheck = false; - - # patchShebangs corrupts the magic escript shebang+zip files - dontPatchShebangs = true; }) ); in diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix index 4d12ed9e5193..9e52be186a3e 100644 --- a/pkgs/development/tools/devpi-server/default.nix +++ b/pkgs/development/tools/devpi-server/default.nix @@ -91,12 +91,16 @@ buildPythonApplication rec { export PATH=$PATH:$out/bin export HOME=$TMPDIR ''; - pytestFlagsArray = [ - "./test_devpi_server" + pytestFlags = [ "-rfsxX" - "--ignore=test_devpi_server/test_nginx_replica.py" - "--ignore=test_devpi_server/test_streaming_nginx.py" - "--ignore=test_devpi_server/test_streaming_replica_nginx.py" + ]; + enabledTestPaths = [ + "./test_devpi_server" + ]; + disabledTestPaths = [ + "test_devpi_server/test_nginx_replica.py" + "test_devpi_server/test_streaming_nginx.py" + "test_devpi_server/test_streaming_replica_nginx.py" ]; disabledTests = [ "root_passwd_hash_option" diff --git a/pkgs/development/tools/hotdoc/default.nix b/pkgs/development/tools/hotdoc/default.nix index 462f3d78d15f..63393afbb5e7 100644 --- a/pkgs/development/tools/hotdoc/default.nix +++ b/pkgs/development/tools/hotdoc/default.nix @@ -89,17 +89,20 @@ buildPythonApplication rec { "hotdoc.extensions.gst.gst_extension" ]; - pytestFlagsArray = [ - # Executing hotdoc exits with code 1 - "--deselect tests/test_hotdoc.py::TestHotdoc::test_basic" - "--deselect tests/test_hotdoc.py::TestHotdoc::test_explicit_conf_file" - "--deselect tests/test_hotdoc.py::TestHotdoc::test_implicit_conf_file" - "--deselect tests/test_hotdoc.py::TestHotdoc::test_private_folder" + pytestFlags = [ # Run the tests by package instead of current dir "--pyargs" "hotdoc" ]; + disabledTestPaths = [ + # Executing hotdoc exits with code 1 + "tests/test_hotdoc.py::TestHotdoc::test_basic" + "tests/test_hotdoc.py::TestHotdoc::test_explicit_conf_file" + "tests/test_hotdoc.py::TestHotdoc::test_implicit_conf_file" + "tests/test_hotdoc.py::TestHotdoc::test_private_folder" + ]; + disabledTests = [ # Test does not correctly handle path normalization for test comparison "test_cli_overrides" diff --git a/pkgs/kde/frameworks/kimageformats/default.nix b/pkgs/kde/frameworks/kimageformats/default.nix index 3ec166b8c061..71e6d884af98 100644 --- a/pkgs/kde/frameworks/kimageformats/default.nix +++ b/pkgs/kde/frameworks/kimageformats/default.nix @@ -15,8 +15,7 @@ mkKdeDerivation { extraBuildInputs = [ libheif libjxl - # FIXME: cmake files are broken, disabled for now - # libavif + libavif libraw openexr ]; diff --git a/pkgs/os-specific/linux/lvm2/2_03.nix b/pkgs/os-specific/linux/lvm2/2_03.nix index 238fd039d614..774f3df953da 100644 --- a/pkgs/os-specific/linux/lvm2/2_03.nix +++ b/pkgs/os-specific/linux/lvm2/2_03.nix @@ -1,4 +1,4 @@ import ./common.nix { - version = "2.03.32"; - hash = "sha256-KReDLd1ORuWTZR4CK/Ei/SZ6teb3T67ggkhDiMiG0a0="; + version = "2.03.33"; + hash = "sha256-vkur2KmG1zJ58edfux0zy0FVm3XCBjYReBv+uMLe8Tk="; } diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 38d204725ff8..5518fe5d64b5 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -41,6 +41,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wc9UnC7DzznrXse/FXMTSeYbJqIbXpY5IttCIzO64Zc="; }; + patches = [ + # Has been submitted upstream, but can't fetchurl/fetchpatch + # because patch doesn't know how to decode quoted-printable. + # https://lore.kernel.org/all/4dgJekVdP7lLqOQ6JNW05sRHSkRmLLMMQnEn8NGUHPoHDn4SBkaGlHUW89vkJJu3IeFDAh3p6mlplTJJlWJx8V4rr62-hd83quCJ2sIuqoA=@protonmail.com/ + ./musl.patch + ]; + outputs = [ "out" ] @@ -52,10 +59,13 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ (lib.mesonBool "v4l-utils" withUtils) + (lib.mesonEnable "gconv" stdenv.hostPlatform.isGnu) (lib.mesonEnable "qv4l2" withQt) (lib.mesonEnable "qvidcap" withQt) - (lib.mesonOption "gconvsysdir" "${glibc.out}/lib/gconv") (lib.mesonOption "udevdir" "${placeholder "out"}/lib/udev") + ] + ++ lib.optionals stdenv.hostPlatform.isGnu [ + (lib.mesonOption "gconvsysdir" "${glibc.out}/lib/gconv") ]; postFixup = '' diff --git a/pkgs/os-specific/linux/v4l-utils/musl.patch b/pkgs/os-specific/linux/v4l-utils/musl.patch new file mode 100644 index 000000000000..eaaf9d0b5ad7 --- /dev/null +++ b/pkgs/os-specific/linux/v4l-utils/musl.patch @@ -0,0 +1,103 @@ +From fa120ba1a02437c762fc6a37a60728cac380aa41 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zsolt=20Vad=C3=A1sz?= +Date: Sun, 11 May 2025 12:34:28 +0000 +Subject: [PATCH] v4l2-tracer: Allow building on systems using musl + +Signed-off-by: Zsolt Vadasz +Message-ID: <4dgJekVdP7lLqOQ6JNW05sRHSkRmLLMMQnEn8NGUHPoHDn4SBkaGlHUW89vkJJu3IeFDAh3p6mlplTJJlWJx8V4rr62-hd83quCJ2sIuqoA=@protonmail.com> +--- + utils/v4l2-tracer/retrace.cpp | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/utils/v4l2-tracer/retrace.cpp b/utils/v4l2-tracer/retrace.cpp +index 010936c0..0acce10c 100644 +--- a/utils/v4l2-tracer/retrace.cpp ++++ b/utils/v4l2-tracer/retrace.cpp +@@ -10,10 +10,14 @@ extern struct retrace_context ctx_retrace; + void retrace_mmap(json_object *mmap_obj, bool is_mmap64) + { + json_object *mmap_args_obj; ++#if defined(linux) && defined(__GLIBC__) + if (is_mmap64) + json_object_object_get_ex(mmap_obj, "mmap64", &mmap_args_obj); + else + json_object_object_get_ex(mmap_obj, "mmap", &mmap_args_obj); ++#else ++ json_object_object_get_ex(mmap_obj, "mmap", &mmap_args_obj); ++#endif + + json_object *len_obj; + json_object_object_get_ex(mmap_args_obj, "len", &len_obj); +@@ -46,16 +50,24 @@ void retrace_mmap(json_object *mmap_obj, bool is_mmap64) + return; + + void *buf_address_retrace_pointer = nullptr; ++#if defined(linux) && defined(__GLIBC__) + if (is_mmap64) + buf_address_retrace_pointer = mmap64(0, len, prot, flags, fd_retrace, off); + else + buf_address_retrace_pointer = mmap(0, len, prot, flags, fd_retrace, off); ++#else ++ buf_address_retrace_pointer = mmap(0, len, prot, flags, fd_retrace, off); ++#endif + + if (buf_address_retrace_pointer == MAP_FAILED) { ++#if defined(linux) && defined(__GLIBC__) + if (is_mmap64) + perror("mmap64"); + else + perror("mmap"); ++#else ++ perror("mmap"); ++#endif + debug_line_info(); + print_context(); + exit(EXIT_FAILURE); +@@ -116,10 +128,14 @@ void retrace_open(json_object *jobj, bool is_open64) + int fd_trace = json_object_get_int(fd_trace_obj); + + json_object *open_args_obj; ++#if defined(linux) && defined(__GLIBC__) + if (is_open64) + json_object_object_get_ex(jobj, "open64", &open_args_obj); + else + json_object_object_get_ex(jobj, "open", &open_args_obj); ++#else ++ json_object_object_get_ex(jobj, "open", &open_args_obj); ++#endif + + json_object *path_obj; + std::string path_trace; +@@ -148,10 +164,14 @@ void retrace_open(json_object *jobj, bool is_open64) + mode = s2number(json_object_get_string(mode_obj)); + + int fd_retrace = 0; ++#if defined(linux) && defined(__GLIBC__) + if (is_open64) + fd_retrace = open64(path_retrace.c_str(), oflag, mode); + else + fd_retrace = open(path_retrace.c_str(), oflag, mode); ++#else ++ fd_retrace = open(path_retrace.c_str(), oflag, mode); ++#endif + + if (fd_retrace <= 0) { + line_info("\n\tCan't open: %s", path_retrace.c_str()); +@@ -162,10 +182,14 @@ void retrace_open(json_object *jobj, bool is_open64) + + if (is_verbose() || errno != 0) { + fprintf(stderr, "path: %s ", path_retrace.c_str()); ++#if defined(linux) && defined(__GLIBC__) + if (is_open64) + perror("open64"); + else + perror("open"); ++#else ++ perror("open"); ++#endif + debug_line_info(); + print_context(); + } +-- +2.49.0 + diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix index 557231de14f3..83c48b3cd2b4 100644 --- a/pkgs/servers/firebird/default.nix +++ b/pkgs/servers/firebird/default.nix @@ -46,10 +46,13 @@ let ] ++ (lib.optional superServer "--enable-superserver"); + enableParallelBuilding = true; + installPhase = '' runHook preInstall mkdir -p $out cp -r gen/Release/firebird/* $out + rm $out/lib/*.a # they were just symlinks to /build/source/... runHook postInstall ''; diff --git a/pkgs/servers/home-assistant/custom-components/yandex-station/package.nix b/pkgs/servers/home-assistant/custom-components/yandex-station/package.nix index bed422d2365f..8eede43ddda6 100644 --- a/pkgs/servers/home-assistant/custom-components/yandex-station/package.nix +++ b/pkgs/servers/home-assistant/custom-components/yandex-station/package.nix @@ -23,9 +23,9 @@ buildHomeAssistantComponent rec { zeroconf ]; - pytestFlagsArray = [ + disabledTestPaths = [ # this test seems to be broken - "--deselect=tests/test_local.py::test_track" + "tests/test_local.py::test_track" ]; nativeCheckInputs = [ home-assistant diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 29484a6c8089..97ea7ef50910 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -517,14 +517,17 @@ python.pkgs.buildPythonApplication rec { "qwikswitch" ]; - pytestFlagsArray = [ + pytestFlags = [ # assign tests grouped by file to workers - "--dist loadfile" + "--dist=loadfile" # enable full variable printing on error "--showlocals" ]; - enabledTestPaths = [ "tests" ]; + enabledTestPaths = [ + # tests are located in tests/ + "tests" + ]; disabledTestPaths = [ # we neither run nor distribute hassfest diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index da4f2f66adb1..c760a74104b0 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -56,10 +56,44 @@ let }; extraDisabledTestPaths = { + backup = [ + # outdated snapshot + "tests/components/backup/test_sensors.py::test_sensors" + ]; + bmw_connected_drive = [ + # outdated snapshot + "tests/components/bmw_connected_drive/test_binary_sensor.py::test_entity_state_attrs" + ]; + dnsip = [ + # Tries to resolve DNS entries + "tests/components/dnsip/test_config_flow.py::test_options_flow" + ]; + jellyfin = [ + # AssertionError: assert 'audio/x-flac' == 'audio/flac' + "tests/components/jellyfin/test_media_source.py::test_resolve" + "tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" + "tests/components/jellyfin/test_media_source.py::test_music_library" + ]; + matter = [ + # outdated snapshot in eve_weather_sensor variant + "tests/components/matter/test_number.py::test_numbers" + ]; + modem_callerid = [ + # aioserial mock produces wrong state + "tests/components/modem_callerid/test_init.py::test_setup_entry" + ]; + openai_conversation = [ + # outdated snapshot + "tests/components/openai_conversation/test_conversation.py::test_function_call" + ]; overseerr = [ # imports broken future module "tests/components/overseerr/test_event.py" ]; + technove = [ + # outdated snapshot + "tests/components/technove/test_switch.py::test_switches" + ]; }; extraDisabledTests = { @@ -99,43 +133,6 @@ let "test_subscribe_discovery" ]; }; - - extraPytestFlagsArray = { - backup = [ - # outdated snapshot - "--deselect tests/components/backup/test_sensors.py::test_sensors" - ]; - bmw_connected_drive = [ - # outdated snapshot - "--deselect tests/components/bmw_connected_drive/test_binary_sensor.py::test_entity_state_attrs" - ]; - dnsip = [ - # Tries to resolve DNS entries - "--deselect tests/components/dnsip/test_config_flow.py::test_options_flow" - ]; - jellyfin = [ - # AssertionError: assert 'audio/x-flac' == 'audio/flac' - "--deselect tests/components/jellyfin/test_media_source.py::test_resolve" - "--deselect tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" - "--deselect tests/components/jellyfin/test_media_source.py::test_music_library" - ]; - matter = [ - # outdated snapshot in eve_weather_sensor variant - "--deselect tests/components/matter/test_number.py::test_numbers" - ]; - modem_callerid = [ - # aioserial mock produces wrong state - "--deselect tests/components/modem_callerid/test_init.py::test_setup_entry" - ]; - openai_conversation = [ - # outdated snapshot - "--deselect tests/components/openai_conversation/test_conversation.py::test_function_call" - ]; - technove = [ - # outdated snapshot - "--deselect tests/components/technove/test_switch.py::test_switches" - ]; - }; in lib.listToAttrs ( map ( @@ -160,10 +157,7 @@ lib.listToAttrs ( # components are more often racy than the core dontUsePytestXdist = true; - pytestFlagsArray = - lib.remove "tests" old.pytestFlagsArray - ++ extraPytestFlagsArray.${component} or [ ] - ++ [ "tests/components/${component}" ]; + enabledTestPaths = [ "tests/components/${component}" ]; meta = old.meta // { broken = lib.elem component [ ]; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 816ee1dde442..7752afca8594 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -1154,19 +1154,13 @@ self: super: ); # xvfb is used by a bunch of things to run tests - # and doesn't support hardware accelerated rendering - # so remove it from the rebuild heavy path for mesa + # so try to reduce its reverse closure xvfb = super.xorgserver.overrideAttrs (old: { configureFlags = [ "--enable-xvfb" "--disable-xorg" "--disable-xquartz" "--disable-xwayland" - "--disable-glamor" - "--disable-glx" - "--disable-dri" - "--disable-dri2" - "--disable-dri3" "--with-xkb-bin-directory=${xorg.xkbcomp}/bin" "--with-xkb-path=${xorg.xkeyboardconfig}/share/X11/xkb" "--with-xkb-output=$out/share/X11/xkb/compiled" @@ -1176,10 +1170,15 @@ self: super: ]; buildInputs = old.buildInputs ++ [ + dri-pkgconfig-stub + libdrm + libGL + mesa-gl-headers xorg.pixman xorg.libXfont2 xorg.xtrans xorg.libxcvt + xorg.libxshmfence ]; }); diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix index 98b2f3e1400d..70a615951c3e 100644 --- a/pkgs/shells/bash/5.nix +++ b/pkgs/shells/bash/5.nix @@ -16,10 +16,10 @@ }: let - upstreamPatches = import ./bash-5.2-patches.nix ( + upstreamPatches = import ./bash-5.3-patches.nix ( nr: sha256: fetchurl { - url = "mirror://gnu/bash/bash-5.2-patches/bash52-${nr}"; + url = "mirror://gnu/bash/bash-5.3-patches/bash53-${nr}"; inherit sha256; } ); @@ -31,12 +31,12 @@ lib.warnIf (withDocs != null) stdenv.mkDerivation rec { pname = "bash${lib.optionalString interactive "-interactive"}"; - version = "5.2${patch_suffix}"; + version = "5.3${patch_suffix}"; patch_suffix = "p${toString (builtins.length upstreamPatches)}"; src = fetchurl { url = "mirror://gnu/bash/bash-${lib.removeSuffix patch_suffix version}.tar.gz"; - sha256 = "sha256-oTnBZt9/9EccXgczBRZC7lVWwcyKSnjxRVg8XIGrMvs="; + hash = "sha256-Yt1JxEw5ntGz9/cx6Hp4IzTYNPCOCYo18sh1R9Xbsmk="; }; hardeningDisable = [ @@ -80,12 +80,6 @@ lib.warnIf (withDocs != null) # Some related discussion can be found in # https://lists.gnu.org/archive/html/bug-bash/2015-05/msg00071.html ./pgrp-pipe-5.patch - # Apply parallel build fix pending upstream inclusion: - # https://savannah.gnu.org/patch/index.php?10373 - # Had to fetch manually to workaround -p0 default. - ./parallel.patch - # Fix `pop_var_context: head of shell_variables not a function context`. - ./fix-pop-var-context-error.patch ]; configureFlags = [ diff --git a/pkgs/shells/bash/bash-5.2-patches.nix b/pkgs/shells/bash/bash-5.2-patches.nix deleted file mode 100644 index b5197b6e0bca..000000000000 --- a/pkgs/shells/bash/bash-5.2-patches.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Automatically generated by `update-patch-set.sh'; do not edit. - -patch: [ - (patch "001" "02iibpd3jq8p1bhdzgik8ps6gi1145vr463a82gj1hivjbp2ybzl") - (patch "002" "1f6p1z85qh1lavdp3xikgp0bfv0vqhvgpgwmdzlywl35hwdmxk25") - (patch "003" "1zxsi869jd90hksx3nyypgyqwrxhw2ws3r6hmk76yc1lsgdhq2ba") - (patch "004" "04i5liw5cg6dqkdxfgazqc2jrw40bmclx3dx45bwy259pcj7g0iq") - (patch "005" "0mykflv9qnbx3jz71l4f7isadiw9knm4qimqkwsv9cv88dafpq7c") - (patch "006" "13265akl8w6zyrg0l7f0x6arjgqjhllcwl6lk46rl53x4mm5dq6i") - (patch "007" "146lrwkn5wgxzs6vx34wl47g69zsxdy032k40qzi626b47ya6015") - (patch "008" "1s5i8hcayrv25lc8fxcr431v634yx5sii53b8fmip789s0pxjjvb") - (patch "009" "1kfk25151ka9wkmk1myf12irgcmvhsd8b0nfifvhrszah9w82npr") - (patch "010" "1kf1jrwm30js0v3d1r2rk4x09s1pyjp70wnd1qqhf9bmkw15ww67") - (patch "011" "1x5nkvbj6hci7gx42q7qa72hg2a9wwxh85dk79gn521ypwjmy6w3") - (patch "012" "0b6lcwzm7v5bzjiwaz2c8n5aj77w8ckhp2vwk4v3zsdq3z70gc9g") - (patch "013" "1rkwpibd6j2ghppfhqsva2jm4kdni6b7jpdsxdps52643gc4yjq9") - (patch "014" "09766vqqw4ffnmysm725v35qkhp1g9j4qgqag941xvq655pj9y9y") - (patch "015" "12im449abnq5gaqjmdxr5i38kmp02fa8l8wffad3jryvd58r0wzg") - (patch "016" "05arb0hzmng03cr357lf6p8af0x2a1pznsd3psll03nibfy56n0m") - (patch "017" "129cvx4gfz8n23iw1lhbknbw86fyw6vh60jqj1wj3d5pr75wwj0w") - (patch "018" "105am94qxjc27gga4a8asvsi01090xwjfim3s16lafwjvm4xsha6") - (patch "019" "10njgv5mrc5rhsp5lvxcbm0pnzn59a8spi2nhdasifyl1a32cp1j") - (patch "020" "07f0wlmqjdfarp44w3gj9gdqbqm5x20rvlhpn34ngklmxcm2bz5n") - (patch "021" "1kahfqqalcwi4m73pg3ssz6lh0kcqsqax09myac7a15d2y0vhd43") - (patch "022" "0w74aym0g1fh48864a3qxh89f26iaq7wsbg7244c6kjr94527dbq") - (patch "023" "1lywjqbc36j5pdzfcvnz1zy30j76aqmsm190p888av0hw815b45g") - (patch "024" "1hq23djqbr7s9y2324jq9mxr5bwdkmgizn3zgpchbsqp054k85cp") - (patch "025" "0x9hc4silzl4d3zw4p43i5dm7w86k50j47f87lracwfgwy3z8f2i") - (patch "026" "1b1fhm1dsi67r8ip17s0xvx2qq31fsxc1g9n3r931dd0k9a1zvln") - (patch "027" "0fdbhvs9dkf4knncifh98a76q4gylhyvfrffq5p9q3ag5q58jap1") - (patch "028" "1hdacd6sssjshmry1sscdnxxfb2r51bvdyghlfjaqgc9l85phhk0") - (patch "029" "11wrlb20w6v89b96krg0gwxipwhvrda6rq1y9f972m32gsrsqp0j") - (patch "030" "13v9fqgim082dmvkslsr0hs793yzhsij2s91mjswsfhj1qip7zy3") - (patch "031" "15d7rddj6spwc1fy997lxx6zvzq0zbxgf2h20mhi4wgp5nzbglf2") - (patch "032" "05ia6yf32hjprmyyxqawhgckxs3684ikfx8xg08zfgx9xkd7g73v") - (patch "033" "1qm2aad9mf2xah6xwchga7s5pk3v308mrv9lgh50d65d236ccgh1") - (patch "034" "0bi38dhkkwpm2qrzp8zpykglq6gibvv2n9f8m59gwj406cxvp7w9") - (patch "035" "1r8k34y82v02yfkgws17j7i53ybb74dqnwl2jjiv0av9z93hl6l2") - (patch "036" "0mwhr9hfbh2czf8klbxg6nbd2g9xl9kygvgk061vird56r4kzj8m") - (patch "037" "156sbi3srzkyxajkmhb7iigq0j4nvwnpsbw88xdsxn95a4xiqb4a") -] diff --git a/pkgs/shells/bash/bash-5.3-patches.nix b/pkgs/shells/bash/bash-5.3-patches.nix new file mode 100644 index 000000000000..b8019fb33502 --- /dev/null +++ b/pkgs/shells/bash/bash-5.3-patches.nix @@ -0,0 +1,4 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +] diff --git a/pkgs/shells/bash/fix-pop-var-context-error.patch b/pkgs/shells/bash/fix-pop-var-context-error.patch deleted file mode 100644 index 1b8d5ae20b31..000000000000 --- a/pkgs/shells/bash/fix-pop-var-context-error.patch +++ /dev/null @@ -1,17 +0,0 @@ -Excerpted from . - -Original author: Chet Ramey - ---- variables.c -+++ variables.c -@@ -5413,7 +5413,9 @@ pop_var_context () - vcxt = shell_variables; - if (vc_isfuncenv (vcxt) == 0) - { -- internal_error (_("pop_var_context: head of shell_variables not a function context")); -+ /* If we haven't flushed all of the local contexts already, flag an error */ -+ if (shell_variables != global_variables || variable_context > 0) -+ internal_error (_("pop_var_context: head of shell_variables not a function context")); - return; - } - diff --git a/pkgs/shells/bash/parallel.patch b/pkgs/shells/bash/parallel.patch deleted file mode 100644 index d9a0cc28ce04..000000000000 --- a/pkgs/shells/bash/parallel.patch +++ /dev/null @@ -1,12 +0,0 @@ -From https://savannah.gnu.org/patch/index.php?10373 - https://savannah.gnu.org/patch/download.php?file_id=54964 ---- Makefile.in -+++ Makefile.in -@@ -1432,6 +1432,7 @@ siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h -+unwind_prot.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 8941c134f6fc..5a2121dc36be 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1386,6 +1386,9 @@ patchPhase() { local -a patchesArray concatTo patchesArray patches + local -a flagsArray + concatTo flagsArray patchFlags=-p1 + for i in "${patchesArray[@]}"; do echo "applying patch $i" local uncompress=cat @@ -1404,8 +1407,6 @@ patchPhase() { ;; esac - local -a flagsArray - concatTo flagsArray patchFlags=-p1 # "2>&1" is a hack to make patch fail if the decompressor fails (nonexistent patch, etc.) # shellcheck disable=SC2086 $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}" diff --git a/pkgs/test/stdenv/patch-shebangs.nix b/pkgs/test/stdenv/patch-shebangs.nix index 392f9630a1d1..653058dca130 100644 --- a/pkgs/test/stdenv/patch-shebangs.nix +++ b/pkgs/test/stdenv/patch-shebangs.nix @@ -204,6 +204,44 @@ let // { meta = { }; }; + + preserves-binary-data = + (derivation { + name = "preserves-binary-data"; + system = stdenv.buildPlatform.system; + builder = "${stdenv.__bootPackages.stdenv.__bootPackages.bashNonInteractive}/bin/bash"; + initialPath = [ + stdenv.__bootPackages.stdenv.__bootPackages.coreutils + ]; + strictDeps = false; + args = [ + "-c" + '' + set -euo pipefail + . ${../../stdenv/generic/setup.sh} + . ${../../build-support/setup-hooks/patch-shebangs.sh} + mkdir -p $out/bin + # Create a script with binary data after the shebang + echo "#!/bin/bash" > $out/bin/test + echo "echo 'script start'" >> $out/bin/test + # Add some binary data (null bytes and other non-printable chars) + printf '\x00\x01\x02\xff\xfe' >> $out/bin/test + echo >> $out/bin/test + echo "echo 'script end'" >> $out/bin/test + chmod +x $out/bin/test + patchShebangs $out/bin/test + # Verify binary data is still present by checking file size and content + if ! printf '\x00\x01\x02\xff\xfe' | cmp -s - <(sed -n '3p' $out/bin/test | tr -d '\n'); then + echo "Binary data corrupted during patching" + exit 1 + fi + '' + ]; + assertion = "grep '^#!${stdenv.shell}' $out/bin/test > /dev/null"; + }) + // { + meta = { }; + }; }; in stdenv.mkDerivation { @@ -219,6 +257,7 @@ stdenv.mkDerivation { read-only-script preserves-read-only preserves-timestamp + preserves-binary-data ; }; buildCommand = '' diff --git a/pkgs/tools/audio/beets/plugins/filetote.nix b/pkgs/tools/audio/beets/plugins/filetote.nix index c9a296b4bb22..d425012a2c57 100644 --- a/pkgs/tools/audio/beets/plugins/filetote.nix +++ b/pkgs/tools/audio/beets/plugins/filetote.nix @@ -59,7 +59,11 @@ python3Packages.buildPythonApplication rec { dev = optional-dependencies.lint ++ optional-dependencies.test ++ [ python3Packages.tox ]; }; - pytestFlagsArray = [ "-r fEs" ]; + pytestFlags = [ + # This is the same as: + # -r fEs + "-rfEs" + ]; disabledTestPaths = [ "tests/test_cli_operation.py" diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 6feb808706df..57fb400332af 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -59,6 +59,11 @@ stdenv.mkDerivation rec { # Heap buffer overflow that's been here since coreutils 7.2 in 2009: # https://www.openwall.com/lists/oss-security/2025/05/27/2 ./CVE-2025-5278.patch + + # Fixes test-float-h failure on ppc64 with C23 + # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html + # Multiple upstream commits squashed with adjustments, see header + ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch ]; postPatch = '' @@ -117,7 +122,15 @@ stdenv.mkDerivation rec { + (optionalString stdenv.hostPlatform.isAarch64 '' # Sometimes fails: https://github.com/NixOS/nixpkgs/pull/143097#issuecomment-954462584 sed '2i echo Skipping cut huge range test && exit 77' -i ./tests/cut/cut-huge-range.sh - ''); + '') + + (optionalString stdenv.hostPlatform.isPower64 + # test command fails to parse long fraction part on ppc64 + # When fraction parsing is fixed, still wrong output due to fraction length mismatch + # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78985 + '' + sed '2i echo Skipping float sort-ing test && exit 77' -i ./tests/sort/sort-float.sh + '' + ); outputs = [ "out" diff --git a/pkgs/tools/misc/coreutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch b/pkgs/tools/misc/coreutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch new file mode 100644 index 000000000000..1b1e210efadd --- /dev/null +++ b/pkgs/tools/misc/coreutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch @@ -0,0 +1,230 @@ +Applies the following incremental gnulib commits: + +- 55a366a06fbd98bf13adc531579e3513cee97a32 +- 65ed9d3b24ad09fd61d326c83e7f1b05f6e9d65f +- ce8e9de0bf34bc63dffc67ab384334c509175f64 +- 6164b4cb0887b5331a4e64449107decd37d32735 + +With adjustments specific to the structure & differences in coreutils: + +- gnulib code is split across lib and gnulib-tests +- A Makefile.in is used for the test flags instead of the fancy automake modules + in the upstream gnulib project, so we add -lm to the float test there. + Surrounding texts in this file are slightly different in every project. +--- +diff '--color=auto' -ruN a/gnulib-tests/Makefile.in b/gnulib-tests/Makefile.in +--- a/gnulib-tests/Makefile.in 2025-04-09 10:05:54.000000000 +0000 ++++ b/gnulib-tests/Makefile.in 2025-07-09 10:00:23.767927263 +0000 +@@ -1496,7 +1496,7 @@ + $(am__DEPENDENCIES_1) + test_float_h_SOURCES = test-float-h.c + test_float_h_OBJECTS = test-float-h.$(OBJEXT) +-test_float_h_LDADD = $(LDADD) ++test_float_h_LDADD = $(LDADD) -lm + test_float_h_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ + libtests.a ../lib/libcoreutils.a libtests.a \ + $(am__DEPENDENCIES_1) +diff '--color=auto' -ruN a/gnulib-tests/test-float-h.c b/gnulib-tests/test-float-h.c +--- a/gnulib-tests/test-float-h.c 2025-01-01 09:32:30.000000000 +0000 ++++ b/gnulib-tests/test-float-h.c 2025-07-09 10:00:13.837937094 +0000 +@@ -101,6 +101,8 @@ + + /* ------------------------------------------------------------------------- */ + ++#include ++ + #include "fpucw.h" + #include "isnanf-nolibm.h" + #include "isnand-nolibm.h" +@@ -396,6 +398,44 @@ + + /* -------------------- Check macros for 'long double' -------------------- */ + ++static int ++test_isfinitel (long double volatile x) ++{ ++ if (x != x) ++ return 0; ++ long double volatile zero = x * 0; ++ return zero == 0; ++} ++ ++/* Return X after normalization. This makes a difference on platforms ++ where long double can represent unnormalized values. For example, ++ suppose x = 1 + 2**-106 on PowerPC with IBM long double where ++ FLT_RADIX = 2, LDBL_MANT_DIG = 106, and LDBL_EPSILON = 2**-105. ++ Then 1 < x < 1 + LDBL_EPSILON, and normalize_long_double (x) returns 1. */ ++static long double ++normalize_long_double (long double volatile x) ++{ ++ if (FLT_RADIX == 2 && test_isfinitel (x)) ++ { ++ int xexp; ++ long double volatile ++ frac = frexpl (x, &xexp), ++ significand = frac * pow2l (LDBL_MANT_DIG), ++ normalized_significand = truncl (significand), ++ normalized_x = normalized_significand * pow2l (xexp - LDBL_MANT_DIG); ++ ++ /* The test_isfinitel defends against PowerPC with IBM long double, ++ which fritzes out near LDBL_MAX. */ ++ if (test_isfinitel (normalized_x)) ++ x = normalized_x; ++ } ++ else ++ { ++ /* Hope that X is already normalized. */ ++ } ++ return x; ++} ++ + static void + test_long_double (void) + { +@@ -455,7 +495,7 @@ + for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) + { + volatile long double half_n = pow2l (- n); /* 2^-n */ +- volatile long double x = me - half_n; ++ volatile long double x = normalize_long_double (me - half_n); + if (x < me) + ASSERT (x <= 1.0L); + } +@@ -483,8 +523,12 @@ + ASSERT (!LDBL_IS_IEC_60559); + #endif + ++ printf("LDBL_NORM_MAX: %LF\n", LDBL_NORM_MAX); ++ printf("LDBL_MAX: %LF\n", LDBL_MAX); ++ printf("normalize_long_double(LDBL_MAX): %LF\n", normalize_long_double(LDBL_MAX)); ++ + /* Check the value of LDBL_NORM_MAX. */ +- ASSERT (LDBL_NORM_MAX == LDBL_MAX); ++ ASSERT (LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)); + + /* Check the value of LDBL_SNAN. */ + ASSERT (isnanl (LDBL_SNAN)); +diff '--color=auto' -ruN a/lib/float.c b/lib/float.c +--- a/lib/float.c 2025-01-01 09:32:29.000000000 +0000 ++++ b/lib/float.c 2025-07-09 10:00:13.837937094 +0000 +@@ -23,7 +23,7 @@ + #if GNULIB_defined_long_double_union + # if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + # elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/lib/float.in.h b/lib/float.in.h +--- a/lib/float.in.h 2025-01-01 09:32:29.000000000 +0000 ++++ b/lib/float.in.h 2025-07-09 10:00:13.837937094 +0000 +@@ -113,44 +113,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -161,6 +155,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -181,6 +177,21 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ + /* ============================ ISO C11 support ============================ */ + + /* 'float' properties */ +@@ -309,7 +320,11 @@ + # endif + #endif + #ifndef LDBL_NORM_MAX +-# define LDBL_NORM_MAX LDBL_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif + #endif + #ifndef LDBL_SNAN + /* For sh, beware of . */ diff --git a/pkgs/tools/misc/system-config-printer/gettext-0.25.patch b/pkgs/tools/misc/system-config-printer/gettext-0.25.patch index fbb1508e4b41..b87dd397ee4c 100644 --- a/pkgs/tools/misc/system-config-printer/gettext-0.25.patch +++ b/pkgs/tools/misc/system-config-printer/gettext-0.25.patch @@ -10,3 +10,15 @@ index 9993ca0d..678fa629 100644 EXPORT_MODULES= \ cupshelpers/__init__.py \ cupshelpers/cupshelpers.py \ +diff --git a/configure.ac b/configure.ac +index 9398fd3e..3b6d8e0e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,6 @@ AC_INIT(system-config-printer, 1.5.18) + AC_CONFIG_SRCDIR(system-config-printer.py) + AM_INIT_AUTOMAKE([dist-xz dist-bzip2 subdir-objects 1.6]) + AM_GNU_GETTEXT_VERSION(0.20) +-AX_REQUIRE_DEFINED([AM_GNU_GETTEXT]) + AM_GNU_GETTEXT([external]) + AM_PATH_PYTHON([3]) + PACKAGE="AC_PACKAGE_NAME" diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 3f7429eb749b..916dc2255576 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -26,6 +26,13 @@ stdenv.mkDerivation rec { "info" ]; + patches = [ + # Fixes test-float-h failure on ppc64 with C23 + # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html + # Multiple upstream commits squashed with adjustments, see header + ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch + ]; + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook (lib.getBin xz) diff --git a/pkgs/tools/text/diffutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch b/pkgs/tools/text/diffutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch new file mode 100644 index 000000000000..615fc646393b --- /dev/null +++ b/pkgs/tools/text/diffutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch @@ -0,0 +1,230 @@ +Applies the following incremental gnulib commits: + +- 55a366a06fbd98bf13adc531579e3513cee97a32 +- 65ed9d3b24ad09fd61d326c83e7f1b05f6e9d65f +- ce8e9de0bf34bc63dffc67ab384334c509175f64 +- 6164b4cb0887b5331a4e64449107decd37d32735 + +With adjustments specific to the structure & differences in diffutils: + +- gnulib code is completely contained in gnulib-tests (flat, no separate lib directory) +- A Makefile.in is used for the test flags instead of the fancy automake modules + in the upstream gnulib project, so we add -lm to the float test there. + Surrounding texts in this file are slightly different in every project. +--- +diff '--color=auto' -ruN a/gnulib-tests/float.c b/gnulib-tests/float.c +--- a/gnulib-tests/float.c 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/float.c 2025-07-09 21:20:34.116794411 +0200 +@@ -23,7 +23,7 @@ + #if GNULIB_defined_long_double_union + # if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + # elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/gnulib-tests/float.in.h b/gnulib-tests/float.in.h +--- a/gnulib-tests/float.in.h 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/float.in.h 2025-07-09 21:20:34.117010190 +0200 +@@ -113,44 +113,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -161,6 +155,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -181,6 +177,21 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ + /* ============================ ISO C11 support ============================ */ + + /* 'float' properties */ +@@ -309,7 +320,11 @@ + # endif + #endif + #ifndef LDBL_NORM_MAX +-# define LDBL_NORM_MAX LDBL_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif + #endif + #ifndef LDBL_SNAN + /* For sh, beware of . */ +diff '--color=auto' -ruN a/gnulib-tests/Makefile.in b/gnulib-tests/Makefile.in +--- a/gnulib-tests/Makefile.in 2025-04-09 04:36:30.000000000 +0200 ++++ b/gnulib-tests/Makefile.in 2025-07-09 21:20:45.260378342 +0200 +@@ -1059,7 +1059,7 @@ + test_filenamecat_DEPENDENCIES = $(am__DEPENDENCIES_2) + test_float_h_SOURCES = test-float-h.c + test_float_h_OBJECTS = test-float-h.$(OBJEXT) +-test_float_h_LDADD = $(LDADD) ++test_float_h_LDADD = $(LDADD) -lm + test_float_h_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \ + libtests.a ../lib/libdiffutils.a libtests.a \ + $(am__DEPENDENCIES_1) +diff '--color=auto' -ruN a/gnulib-tests/test-float-h.c b/gnulib-tests/test-float-h.c +--- a/gnulib-tests/test-float-h.c 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/test-float-h.c 2025-07-09 21:20:34.117248712 +0200 +@@ -101,6 +101,8 @@ + + /* ------------------------------------------------------------------------- */ + ++#include ++ + #include "fpucw.h" + #include "isnanf-nolibm.h" + #include "isnand-nolibm.h" +@@ -396,6 +398,44 @@ + + /* -------------------- Check macros for 'long double' -------------------- */ + ++static int ++test_isfinitel (long double volatile x) ++{ ++ if (x != x) ++ return 0; ++ long double volatile zero = x * 0; ++ return zero == 0; ++} ++ ++/* Return X after normalization. This makes a difference on platforms ++ where long double can represent unnormalized values. For example, ++ suppose x = 1 + 2**-106 on PowerPC with IBM long double where ++ FLT_RADIX = 2, LDBL_MANT_DIG = 106, and LDBL_EPSILON = 2**-105. ++ Then 1 < x < 1 + LDBL_EPSILON, and normalize_long_double (x) returns 1. */ ++static long double ++normalize_long_double (long double volatile x) ++{ ++ if (FLT_RADIX == 2 && test_isfinitel (x)) ++ { ++ int xexp; ++ long double volatile ++ frac = frexpl (x, &xexp), ++ significand = frac * pow2l (LDBL_MANT_DIG), ++ normalized_significand = truncl (significand), ++ normalized_x = normalized_significand * pow2l (xexp - LDBL_MANT_DIG); ++ ++ /* The test_isfinitel defends against PowerPC with IBM long double, ++ which fritzes out near LDBL_MAX. */ ++ if (test_isfinitel (normalized_x)) ++ x = normalized_x; ++ } ++ else ++ { ++ /* Hope that X is already normalized. */ ++ } ++ return x; ++} ++ + static void + test_long_double (void) + { +@@ -455,7 +495,7 @@ + for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) + { + volatile long double half_n = pow2l (- n); /* 2^-n */ +- volatile long double x = me - half_n; ++ volatile long double x = normalize_long_double (me - half_n); + if (x < me) + ASSERT (x <= 1.0L); + } +@@ -483,8 +523,12 @@ + ASSERT (!LDBL_IS_IEC_60559); + #endif + ++ printf("LDBL_NORM_MAX: %LF\n", LDBL_NORM_MAX); ++ printf("LDBL_MAX: %LF\n", LDBL_MAX); ++ printf("normalize_long_double(LDBL_MAX): %LF\n", normalize_long_double(LDBL_MAX)); ++ + /* Check the value of LDBL_NORM_MAX. */ +- ASSERT (LDBL_NORM_MAX == LDBL_MAX); ++ ASSERT (LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)); + + /* Check the value of LDBL_SNAN. */ + ASSERT (isnanl (LDBL_SNAN)); diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index c3df46d623d9..e32a5a867c0f 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -28,6 +28,13 @@ stdenv.mkDerivation { hash = "sha256-JkmyfA6Q5jLq3NdXvgbG6aT0jZQd5R58D4P/dkCKB7k="; }; + patches = [ + # Fixes test-float-h failure on ppc64 with C23 + # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html + # Multiple upstream commits squashed with adjustments, see header + ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch + ]; + # Some gnulib tests fail # - on Musl: https://github.com/NixOS/nixpkgs/pull/228714 # - on x86_64-darwin: https://github.com/NixOS/nixpkgs/pull/228714#issuecomment-1576826330 diff --git a/pkgs/tools/text/gnugrep/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch b/pkgs/tools/text/gnugrep/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch new file mode 100644 index 000000000000..26e0765e7bcf --- /dev/null +++ b/pkgs/tools/text/gnugrep/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch @@ -0,0 +1,230 @@ +Applies the following incremental gnulib commits: + +- 55a366a06fbd98bf13adc531579e3513cee97a32 +- 65ed9d3b24ad09fd61d326c83e7f1b05f6e9d65f +- ce8e9de0bf34bc63dffc67ab384334c509175f64 +- 6164b4cb0887b5331a4e64449107decd37d32735 + +With adjustments specific to the structure & differences in gnugrep: + +- gnulib code is completely contained in gnulib-tests (flat, no separate lib directory) +- A Makefile.in is used for the test flags instead of the fancy automake modules + in the upstream gnulib project, so we add -lm to the float test there. + Surrounding texts in this file are slightly different in every project. +--- +diff '--color=auto' -ruN a/gnulib-tests/float.c b/gnulib-tests/float.c +--- a/gnulib-tests/float.c 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/float.c 2025-07-09 06:45:05.176372632 +0200 +@@ -23,7 +23,7 @@ + #if GNULIB_defined_long_double_union + # if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + # elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/gnulib-tests/float.in.h b/gnulib-tests/float.in.h +--- a/gnulib-tests/float.in.h 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/float.in.h 2025-07-09 06:44:02.203541534 +0200 +@@ -113,44 +113,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -161,6 +155,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -181,6 +177,21 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ + /* ============================ ISO C11 support ============================ */ + + /* 'float' properties */ +@@ -309,7 +320,11 @@ + # endif + #endif + #ifndef LDBL_NORM_MAX +-# define LDBL_NORM_MAX LDBL_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif + #endif + #ifndef LDBL_SNAN + /* For sh, beware of . */ +diff '--color=auto' -ruN a/gnulib-tests/Makefile.in b/gnulib-tests/Makefile.in +--- a/gnulib-tests/Makefile.in 2025-04-10 17:51:23.000000000 +0200 ++++ b/gnulib-tests/Makefile.in 2025-07-09 06:35:48.276939180 +0200 +@@ -1056,7 +1056,7 @@ + ../lib/libgreputils.a libtests.a $(am__DEPENDENCIES_1) + test_float_h_SOURCES = test-float-h.c + test_float_h_OBJECTS = test-float-h.$(OBJEXT) +-test_float_h_LDADD = $(LDADD) ++test_float_h_LDADD = $(LDADD) -lm + test_float_h_DEPENDENCIES = libtests.a ../lib/libgreputils.a \ + libtests.a ../lib/libgreputils.a libtests.a \ + $(am__DEPENDENCIES_1) +diff '--color=auto' -ruN a/gnulib-tests/test-float-h.c b/gnulib-tests/test-float-h.c +--- a/gnulib-tests/test-float-h.c 2025-01-02 03:33:12.000000000 +0100 ++++ b/gnulib-tests/test-float-h.c 2025-07-09 06:54:02.794407115 +0200 +@@ -101,6 +101,8 @@ + + /* ------------------------------------------------------------------------- */ + ++#include ++ + #include "fpucw.h" + #include "isnanf-nolibm.h" + #include "isnand-nolibm.h" +@@ -396,6 +398,44 @@ + + /* -------------------- Check macros for 'long double' -------------------- */ + ++static int ++test_isfinitel (long double volatile x) ++{ ++ if (x != x) ++ return 0; ++ long double volatile zero = x * 0; ++ return zero == 0; ++} ++ ++/* Return X after normalization. This makes a difference on platforms ++ where long double can represent unnormalized values. For example, ++ suppose x = 1 + 2**-106 on PowerPC with IBM long double where ++ FLT_RADIX = 2, LDBL_MANT_DIG = 106, and LDBL_EPSILON = 2**-105. ++ Then 1 < x < 1 + LDBL_EPSILON, and normalize_long_double (x) returns 1. */ ++static long double ++normalize_long_double (long double volatile x) ++{ ++ if (FLT_RADIX == 2 && test_isfinitel (x)) ++ { ++ int xexp; ++ long double volatile ++ frac = frexpl (x, &xexp), ++ significand = frac * pow2l (LDBL_MANT_DIG), ++ normalized_significand = truncl (significand), ++ normalized_x = normalized_significand * pow2l (xexp - LDBL_MANT_DIG); ++ ++ /* The test_isfinitel defends against PowerPC with IBM long double, ++ which fritzes out near LDBL_MAX. */ ++ if (test_isfinitel (normalized_x)) ++ x = normalized_x; ++ } ++ else ++ { ++ /* Hope that X is already normalized. */ ++ } ++ return x; ++} ++ + static void + test_long_double (void) + { +@@ -455,7 +495,7 @@ + for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) + { + volatile long double half_n = pow2l (- n); /* 2^-n */ +- volatile long double x = me - half_n; ++ volatile long double x = normalize_long_double (me - half_n); + if (x < me) + ASSERT (x <= 1.0L); + } +@@ -483,8 +523,12 @@ + ASSERT (!LDBL_IS_IEC_60559); + #endif + ++ printf("LDBL_NORM_MAX: %LF\n", LDBL_NORM_MAX); ++ printf("LDBL_MAX: %LF\n", LDBL_MAX); ++ printf("normalize_long_double(LDBL_MAX): %LF\n", normalize_long_double(LDBL_MAX)); ++ + /* Check the value of LDBL_NORM_MAX. */ +- ASSERT (LDBL_NORM_MAX == LDBL_MAX); ++ ASSERT (LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)); + + /* Check the value of LDBL_SNAN. */ + ASSERT (isnanl (LDBL_SNAN)); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea2eb02b7cc5..2ce000cfa021 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9339,11 +9339,9 @@ with pkgs; } ); - readline = readline82; - readline70 = callPackage ../development/libraries/readline/7.0.nix { }; - readline82 = callPackage ../development/libraries/readline/8.2.nix { }; + readline = callPackage ../development/libraries/readline/8.3.nix { }; readmdict = with python3Packages; toPythonApplication readmdict; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 56c094a1e95e..9ceb895f4cbe 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13818,6 +13818,11 @@ with self; url = "mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz"; hash = "sha256-O7KiC6Nd+VjcCk8jBvwF2QPYuMTePIvu/OF3OdKByVg="; }; + # Fix dynamic loading not available when cross compiling + postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed -i '/install_share/d' Makefile.PL + sed -i '/File::ShareDir::Install/d' Makefile.PL + ''; propagatedBuildInputs = [ ClassInspector ]; buildInputs = [ FileShareDirInstall ]; meta = { @@ -13827,8 +13832,6 @@ with self; artistic1 gpl1Plus ]; - # Can't load module IO, dynamic loading not available in this perl. - broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform; }; };