diff --git a/doc/hooks/check-phase-thread-limit-hook.section.md b/doc/hooks/check-phase-thread-limit-hook.section.md new file mode 100644 index 000000000000..0adc0d309c47 --- /dev/null +++ b/doc/hooks/check-phase-thread-limit-hook.section.md @@ -0,0 +1,24 @@ +# checkPhaseThreadLimitHook {#setup-hook-check-phase-thread-limit} + +This hook defaults a variety of environment variables known +to control thread counts to 1. Many of these otherwise default +to `$(nproc)`, which causes massive overloads on build machines +if nix build jobs and build cores are already tuned to fully utilize +compute capacity of a builder without additional parallelism. + +Currently sets the following environment variables: +- [`OMP_NUM_THREADS`](https://www.openmp.org/spec-html/5.0/openmpse50.html) +- [`OPENBLAS_NUM_THREADS`](https://github.com/OpenMathLib/OpenBLAS/blob/e7b45174355edec1f04de1cabcf5ca6a98ea7fbc/USAGE.md#how-can-i-use-openblas-in-multi-threaded-applications) +- [`MKL_NUM_THREADS`](https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2023-0/mkl-domain-num-threads.html) +- [`BLIS_NUM_THREADS`](https://github.com/flame/blis/blob/b8b75b4e19459f5d618b57aa814ca38b1d82eb82/docs/Multithreading.md#specifying-multithreading) +- `VECLIB_MAXIMUM_THREADS`: Only affects darwin, see [`man 7 Accelerate`](https://manp.gs/mac/7/Accelerate) +- [`NUMBA_NUM_THREADS`](https://numba.readthedocs.io/en/stable/reference/envvars.html#threading-control) +- [`NUMEXPR_NUM_THREADS`](https://numexpr.readthedocs.io/en/latest/user_guide.html#threadpool-configuration) + +The `NIX_CHECK_PHASE_DEFAULT_NUM_THREADS` environment variable +can be used to override the default thread count limit. +`dontLimitCheckPhaseThreads = true;` can be used to disable +thread limiting on an individual package. + +This hook will not attempt to override already existing +definitions for thread count environment variables. diff --git a/doc/hooks/index.md b/doc/hooks/index.md index 63cc9b2ded64..2307782dec47 100644 --- a/doc/hooks/index.md +++ b/doc/hooks/index.md @@ -13,6 +13,7 @@ aws-c-common.section.md bmake.section.md breakpoint.section.md cernlib.section.md +check-phase-thread-limit-hook.section.md cmake.section.md desktop-file-utils.section.md gdk-pixbuf.section.md @@ -34,7 +35,6 @@ nodejs-install-manuals.section.md npm-build-hook.section.md npm-config-hook.section.md npm-install-hook.section.md -openmp-check-hook.section.md patch-rc-path-hooks.section.md perl.section.md pkg-config.section.md diff --git a/doc/hooks/openmp-check-hook.section.md b/doc/hooks/openmp-check-hook.section.md deleted file mode 100644 index 5a5842eb5e29..000000000000 --- a/doc/hooks/openmp-check-hook.section.md +++ /dev/null @@ -1,10 +0,0 @@ -# openmpCheckPhaseHook {#setup-hook-omp-check} - - -This hook can be used to setup a check phase that -requires running a OpenMP application. It mostly -serves to limit `OMP_NUM_THREADS` to avoid overloading -build machines. - -This hook will not attempt to override an already existing -definition of `OMP_NUM_THREADS` in the environment. diff --git a/doc/redirects.json b/doc/redirects.json index 183986feb1d9..04d844ceaa2c 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -2920,7 +2920,8 @@ "setup-hook-mpi-check": [ "index.html#setup-hook-mpi-check" ], - "setup-hook-omp-check": [ + "setup-hook-check-phase-thread-limit": [ + "index.html#setup-hook-check-phase-thread-limit", "index.html#setup-hook-omp-check" ], "ninja": [ diff --git a/doc/release-notes/rl-2611.section.md b/doc/release-notes/rl-2611.section.md index 7341b95948c2..3c11e848a37f 100644 --- a/doc/release-notes/rl-2611.section.md +++ b/doc/release-notes/rl-2611.section.md @@ -31,6 +31,9 @@ By the time of this release, Homebrew will offer only limited [Tier 3](https://docs.brew.sh/Support-Tiers#tier-3) support for the platform, but MacPorts will likely continue to support it for a long time. We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028. +- `bundlerApp` now sets `__structuredAttrs = true` for its result package. + Out-of-tree packages passing `postBuild` to `bundlerApp` should examine if their `postBuild` commands are compatible with structured attributes. + - `databricks-cli` has been updated from `0.290.2` to `1.x.x`, the first major release. OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of `~/.databricks/token-cache.json`; cached tokens from older versions are not migrated, so run `databricks auth login` once per profile after upgrading. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg`. Additionally, the `vector_search_endpoints` DABs resource renamed `min_qps` to `target_qps` (and the `vector-search-endpoints` command renamed `--min-qps` to `--target-qps`). See the [upstream changelog](https://github.com/databricks/cli/blob/main/CHANGELOG.md) for details. - `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details. diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix index ce8cd1d2b9ba..1a650a3b2af6 100644 --- a/pkgs/applications/editors/emacs/make-emacs.nix +++ b/pkgs/applications/editors/emacs/make-emacs.nix @@ -116,8 +116,6 @@ # test callPackage, - # TODO: Clean up on `staging` - llvmPackages, }: assert (withGTK3 && !withNS && variant != "macport") -> withX || withPgtk; @@ -254,11 +252,7 @@ stdenv.mkDerivation (finalAttrs: { autoreconfHook ] ++ lib.optionals (withPgtk || withX && (withGTK3 || withXwidgets)) [ wrapGAppsHook3 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - sigtool - # TODO: Clean up on `staging` - llvmPackages.lld - ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; buildInputs = [ gnutls @@ -424,15 +418,10 @@ stdenv.mkDerivation (finalAttrs: { NATIVE_FULL_AOT = "1"; LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths; } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # workaround for ld64 hardening issue - # - # TODO: Clean up on `staging` - NIX_CFLAGS_COMPILE = - "-fuse-ld=lld" - # Fixes intermittent segfaults when compiled with LLVM >= 7.0. - # See https://github.com/NixOS/nixpkgs/issues/127902 - + lib.optionalString (variant == "macport") " -isystem ${./macport-noescape-noop}"; + // lib.optionalAttrs (variant == "macport") { + # Fixes intermittent segfaults when compiled with LLVM >= 7.0. + # See https://github.com/NixOS/nixpkgs/issues/127902 + NIX_CFLAGS_COMPILE = "-isystem ${./macport-noescape-noop}"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 71848004202f..f336ecbced79 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -4,7 +4,7 @@ stdenv, }: rec { - version = "9.2.0541"; + version = "9.2.0782"; outputs = [ "out" @@ -15,7 +15,7 @@ rec { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-M2vdIAM3P2MZdcMvFX/3/fixliTosR06nvPIX7NXFNo="; + hash = "sha256-D4IyDgl1JdmumDzO0uMg2LhoSnFUeqhcMJ6ImC17wzs="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index d9abd14e2e51..ec3e7c9a6253 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -14,8 +14,6 @@ url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/68f6d131750aa778807119e03eed70286a17b1cb/trunk/archlinux.vim"; sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c"; }, - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -39,10 +37,6 @@ stdenv.mkDerivation { nativeBuildInputs = [ gettext pkg-config - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ ncurses @@ -50,13 +44,6 @@ stdenv.mkDerivation { gawk ]; - # workaround for ld64 hardening issue - # - # TODO: Clean up on `staging` - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_COMPILE = "-fuse-ld=lld"; - }; - strictDeps = true; configureFlags = [ diff --git a/pkgs/applications/editors/vim/full.nix b/pkgs/applications/editors/vim/full.nix index f07960cf950c..a2a105e3182c 100644 --- a/pkgs/applications/editors/vim/full.nix +++ b/pkgs/applications/editors/vim/full.nix @@ -48,9 +48,6 @@ darwinSupport ? config.vim.darwin or false, # Enable Darwin support ftNixSupport ? config.vim.ftNix or true, # Add nix indentation support from vim-nix (not needed for basic syntax highlighting) sodiumSupport ? config.vim.sodium or true, # Enable sodium based encryption - - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -172,9 +169,7 @@ stdenv.mkDerivation { ++ lib.optional nlsSupport gettext ++ lib.optional perlSupport perl ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook3 - ++ lib.optional waylandSupport wayland-scanner - # TODO: Clean up on `staging` - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ++ lib.optional waylandSupport wayland-scanner; buildInputs = [ ncurses @@ -201,10 +196,7 @@ stdenv.mkDerivation { ++ lib.optional sodiumSupport libsodium; # error: '__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes - # workaround for ld64 hardening issue - # - # TODO: Clean up on `staging` - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-fdeclspec -fuse-ld=lld"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-fdeclspec"; preConfigure = lib.optionalString ftNixSupport '' cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index 9e48750c0b0a..36e22ddc2b0a 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -17,8 +17,6 @@ # This can be set to one of the `darwin.xcode_*` packages as well. # If set, this should be a path to Xcode.app, e.g. `"/Applications/Xcode.app"`. withXcodePath ? null, - # TODO: Clean up on `staging` - llvmPackages, }: # Try to match MacVim's documented script interface compatibility @@ -50,8 +48,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config - # TODO: Clean up on `staging` - llvmPackages.lld ]; buildInputs = [ # MacVim references up to MAC_OS_VERSION_14_0 in its source @@ -192,8 +188,7 @@ stdenv.mkDerivation (finalAttrs: { # macvim obj-c log macro triggers -Wformat-security (seems like a bug? it's a string literal!) hardeningDisable = common.hardeningDisable ++ [ "format" ]; # os_log also enables -Werror,-Wformat by default - # TODO: Clean up on `staging` - env.NIX_CFLAGS_COMPILE = "-DOS_LOG_FORMAT_WARNINGS -fuse-ld=lld"; + env.NIX_CFLAGS_COMPILE = "-DOS_LOG_FORMAT_WARNINGS"; # We rely on the user's Xcode install to build. It may be located in an arbitrary place, and # it's not clear what system-level components it may require, so for now we'll just allow full diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix index b9f2fdbf2e53..e744ee618380 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix @@ -34,7 +34,6 @@ libjxl, libicns, apple-sdk_15, - llvmPackages, nix-update-script, }: @@ -66,11 +65,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.hostPlatform.isLinux [ gobject-introspection - ] - # Work around ld64's libc++ hardening issue causing Trace/BPT trap: 5 - # TODO: Remove once nixpkgs#536365 reaches this branch. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ @@ -107,12 +101,6 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; - # Work around ld64's libc++ hardening issue causing Trace/BPT trap: 5 - # TODO: Remove once nixpkgs#536365 reaches this branch. - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - cmakeFlags = [ # We're allowed to used the API ID of the Snap package: (lib.cmakeFeature "TDESKTOP_API_ID" "611335") diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index f227a7f742f0..6376bf4f08e8 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -27,7 +27,6 @@ pkg-config, bison, which, - llvmPackages, jdk, blas, lapack, @@ -69,10 +68,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config tzdata which - ] - # TODO: Remove once #536365 reaches this branch - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; - + ]; buildInputs = [ bzip2 gfortran @@ -130,11 +126,6 @@ stdenv.mkDerivation (finalAttrs: { dontDisableStatic = static; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - preConfigure = '' configureFlagsArray=( --disable-lto diff --git a/pkgs/build-support/build-typst-package.nix b/pkgs/build-support/build-typst-package.nix index 13e1ddd2537c..ead6d68a1395 100644 --- a/pkgs/build-support/build-typst-package.nix +++ b/pkgs/build-support/build-typst-package.nix @@ -40,6 +40,9 @@ lib.extendMkDerivation { { name = "typst-package-${finalAttrs.pname}-${finalAttrs.version}"; + strictDeps = true; + __structuredAttrs = true; + dontBuild = true; installPhase = diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 5d7ebc7cd87b..ba78f36a17c0 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -53,10 +53,13 @@ ]; # GCC + # The commented out ones don't seem to be keeping up with the latest releases + # as of 2026-07-07 they don't have tarballs for 14.4 or 15.3 gcc = [ - "https://mirror.koddos.net/gcc/" - "https://bigsearcher.com/mirrors/gcc/" - "ftp://ftp.nluug.nl/mirror/languages/gcc/" + # "https://mirror.koddos.net/gcc/" + # "https://bigsearcher.com/mirrors/gcc/" + "https://mirrorservice.org/sites/sourceware.org/pub/gcc/" + # "ftp://ftp.nluug.nl/mirror/languages/gcc/" "ftp://ftp.fu-berlin.de/unix/languages/gcc/" "ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/" "ftp://gcc.gnu.org/pub/gcc/" diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index 69a6121722d5..b9722cc413a6 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -320,10 +320,15 @@ lib.extendMkDerivation { } getGoDirs() { - local type; - type="$1" - if [ -n "$subPackages" ]; then - echo "$subPackages" | sed "s,\(^\| \),\1./,g" + local -r type="$1" + + # Support strucuredAttrs, they are not space seperated + local -a subPackagesArray + concatTo subPackagesArray subPackages + + # Outputs each element prefixed with './' if the array is not empty + if [[ ''${#subPackagesArray[@]} -gt 0 ]]; then + echo "''${subPackagesArray[*]/#/./}" else find . -type f -name \*$type.go -exec dirname {} \; | grep -v "/vendor/" | sort --unique | grep -v "$exclude" fi diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 0fb5aac50a7a..023ae4ce1a8c 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -3,6 +3,8 @@ # assertExecutable FILE assertExecutable() { local file="$1" + [[ -e "$file" ]] || \ + die "Cannot wrap '$file' because it does not exist" [[ -f "$file" && -x "$file" ]] || \ die "Cannot wrap '$file' because it is not an executable file" } diff --git a/pkgs/by-name/al/alsa-lib/package.nix b/pkgs/by-name/al/alsa-lib/package.nix index 4c02e2a8d7eb..398edd5f40fe 100644 --- a/pkgs/by-name/al/alsa-lib/package.nix +++ b/pkgs/by-name/al/alsa-lib/package.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "alsa-lib"; - version = "1.2.16"; + version = "1.2.16.1"; src = fetchurl { url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2"; - hash = "sha256-EiseMWbVX+GbzeZWU116NvKrEOZscsatL0PyD/3tCpY="; + hash = "sha256-90Dbf0iCVZRP/UQoQW7jOQqWdChWkWQz30aMKBQ2SA4="; }; patches = [ @@ -46,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "http://www.alsa-project.org/"; + changelog = "https://github.com/alsa-project/alsa-lib/releases/tag/v${finalAttrs.version}"; description = "ALSA, the Advanced Linux Sound Architecture libraries"; mainProgram = "aserver"; diff --git a/pkgs/by-name/al/alsa-ucm-conf/package.nix b/pkgs/by-name/al/alsa-ucm-conf/package.nix index eace84e7b18f..261b09ad78a6 100644 --- a/pkgs/by-name/al/alsa-ucm-conf/package.nix +++ b/pkgs/by-name/al/alsa-ucm-conf/package.nix @@ -9,11 +9,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "alsa-ucm-conf"; - version = "1.2.16"; + version = "1.2.16.1"; src = fetchurl { url = "mirror://alsa/lib/alsa-ucm-conf-${finalAttrs.version}.tar.bz2"; - hash = "sha256-rLyXLW5x7fo0Xnav3xDDmf0PHzz5DYSv20z1G/xKZUg="; + hash = "sha256-zz0cB+CJqDxOziwg8F3WqKq3/NEIdow4gROGiAV1SSs="; }; patches = [ @@ -47,6 +47,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { homepage = "https://www.alsa-project.org/"; + changelog = "https://github.com/alsa-project/alsa-ucm-conf/releases/tag/v${finalAttrs.version}"; description = "ALSA Use Case Manager configuration"; longDescription = '' diff --git a/pkgs/by-name/al/alsa-utils/package.nix b/pkgs/by-name/al/alsa-utils/package.nix index 4476b715cdcf..91653a4848b6 100644 --- a/pkgs/by-name/al/alsa-utils/package.nix +++ b/pkgs/by-name/al/alsa-utils/package.nix @@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "http://www.alsa-project.org/"; + changelog = "https://github.com/alsa-project/alsa-utils/releases/tag/v${finalAttrs.version}"; description = "ALSA, the Advanced Linux Sound Architecture utils"; longDescription = '' The Advanced Linux Sound Architecture (ALSA) provides audio and diff --git a/pkgs/by-name/ap/apparmor-parser/package.nix b/pkgs/by-name/ap/apparmor-parser/package.nix index 8844ca83b316..97f240c0bc1e 100644 --- a/pkgs/by-name/ap/apparmor-parser/package.nix +++ b/pkgs/by-name/ap/apparmor-parser/package.nix @@ -30,15 +30,6 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h" ''; - patches = [ - (fetchpatch { - # https://gitlab.com/apparmor/apparmor/-/merge_requests/2133 - # Patches generated yacc parser code to compile with format-security - url = "https://gitlab.com/apparmor/apparmor/-/commit/6bdec74d5e74660b97e00b4b8fafc014b05907b7.diff"; - hash = "sha256-7c5EFByrGIDj2lc31bRttyeybwndDm4iS4qdPMVaG/I="; - }) - ]; - nativeBuildInputs = [ bison flex diff --git a/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py b/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py index 33813168f560..bda5329a1df3 100644 --- a/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py +++ b/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import argparse +import errno import os import pprint import subprocess @@ -195,6 +196,12 @@ def populate_cache(initial: list[Path], recursive: bool =False) -> None: except ELFError: # Not an ELF file in the right format pass + except OSError as e: + if e.errno == errno.EINVAL: + # pyelftools can raise EINVAL for certain compressed sections. + pass + else: + raise def find_dependency(soname: str, soarch: str, soabi: str) -> Optional[Path]: @@ -343,6 +350,10 @@ def auto_patchelf_file(logger: Logger, path: Path, runtime_deps: list[Path], app except ELFError: return [] + except OSError as e: + if e.errno == errno.EINVAL: + return [] + raise # these platforms are packaged in nixpkgs with ld.so in a separate derivation # than libc.so and friends. keep_libc is mandatory. diff --git a/pkgs/by-name/ba/bash-completion/package.nix b/pkgs/by-name/ba/bash-completion/package.nix index f7c9b961c948..306014c22dde 100644 --- a/pkgs/by-name/ba/bash-completion/package.nix +++ b/pkgs/by-name/ba/bash-completion/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "bash-completion"; - version = "2.17.0"; + version = "2.18.0"; # Using fetchurl because fetchGithub or fetchzip will have trouble on # e.g. APFS filesystems (macOS) because of non UTF-8 characters in some of the @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { # See discussion in https://github.com/NixOS/nixpkgs/issues/107768 src = fetchurl { url = "https://github.com/scop/bash-completion/releases/download/${finalAttrs.version}/bash-completion-${finalAttrs.version}.tar.xz"; - hash = "sha256-3Z2CXklkNfs766Oue+qfd+gh6JRmfQdDHR1MjFcLnlg="; + hash = "sha256-iLz4UST3f3Ty8vi80WrEOC2AeoJ+3nQqZJQMcRauoz8="; }; postPatch = '' diff --git a/pkgs/by-name/bl/blas/package.nix b/pkgs/by-name/bl/blas/package.nix index 51deec6c5c64..c0023957bcea 100644 --- a/pkgs/by-name/bl/blas/package.nix +++ b/pkgs/by-name/bl/blas/package.nix @@ -3,7 +3,7 @@ stdenv, lapack-reference, openblas, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, isILP64 ? false, blasProvider ? openblas, }: @@ -188,7 +188,7 @@ stdenv.mkDerivation { ]; propagatedNativeBuildInputs = [ - openmpCheckPhaseHook + checkPhaseThreadLimitHook ]; meta = (blasProvider'.meta or { }) // { diff --git a/pkgs/by-name/bl/blis/package.nix b/pkgs/by-name/bl/blis/package.nix index 1edd86ae85c7..43b1e17c59ed 100644 --- a/pkgs/by-name/bl/blis/package.nix +++ b/pkgs/by-name/bl/blis/package.nix @@ -5,6 +5,12 @@ perl, python3, + # sets BLIS_NUM_THREADS and OMP_NUM_THREADS for packages + # invoking blis during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: https://github.com/flame/blis/blob/b8b75b4e19459f5d618b57aa814ca38b1d82eb82/docs/Multithreading.md#specifying-multithreading + checkPhaseThreadLimitHook, + # Enable BLAS interface with 64-bit integer width. blas64 ? false, @@ -36,6 +42,10 @@ stdenv.mkDerivation (finalAttrs: { python3 ]; + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + doCheck = true; enableParallelBuilding = true; diff --git a/pkgs/by-name/bl/blueutil/package.nix b/pkgs/by-name/bl/blueutil/package.nix index 6f13a65ab4f1..31d6eaf1cadd 100644 --- a/pkgs/by-name/bl/blueutil/package.nix +++ b/pkgs/by-name/bl/blueutil/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - llvmPackages, testers, nix-update-script, }: @@ -18,12 +17,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Qw5c9dp7wpuOcQSLsg1pfJ+NbrEtme2o6nKD3Ba3A3M="; }; - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - nativeBuildInputs = [ llvmPackages.lld ]; - env.NIX_CFLAGS_COMPILE = "-Wall -Wextra -Werror -mmacosx-version-min=10.9 -framework Foundation -framework IOBluetooth"; - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - env.NIX_CFLAGS_LINK = "--ld-path=${lib.getExe' llvmPackages.lld "ld64.lld"}"; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/bo/borgbackup/package.nix b/pkgs/by-name/bo/borgbackup/package.nix index 9300650bace2..53e46ade8c4b 100644 --- a/pkgs/by-name/bo/borgbackup/package.nix +++ b/pkgs/by-name/bo/borgbackup/package.nix @@ -4,6 +4,7 @@ acl, e2fsprogs, fetchFromGitHub, + fetchpatch, libb2, lz4, openssh, @@ -32,6 +33,26 @@ python.pkgs.buildPythonApplication (finalAttrs: { hash = "sha256-pMZr9cVr84b948b5Iuevpy6AtMeYo/Ma8uFLuagAYy4="; }; + patches = [ + (fetchpatch { + name = "msgspec-1.2.0-compat.patch"; + url = "https://github.com/borgbackup/borg/commit/364438f58c86aebd157b55bd2202afaf5945e008.patch"; + excludes = [ "docs/changes.rst" ]; + hash = "sha256-YhZDD6i2cn7p00Dgmpqi8uGJzFZzixMZmHPcZroB1sE="; + }) + (fetchpatch { + name = "msgspec-1.2.1-compat.patch"; + url = "https://github.com/borgbackup/borg/commit/8abdd3b8bf065dceecd52d2b22d92b3c407a7c1d.patch"; + excludes = [ "docs/changes.rst" ]; + hash = "sha256-bvSRxEzNvejG6PQFkeNDuQB7Zd4/EYPEZkrgjpgQ9Ss="; + }) + (fetchpatch { + name = "msgspec-1.2.1-unpacker-compat.patch"; + url = "https://github.com/borgbackup/borg/commit/b09bbed3de095d6ac9d69a42a486ec18523046dc.patch"; + hash = "sha256-F8CIqOcQOLdYn7srsev2op0pgkgt8zdkc5DQUH1c6xg="; + }) + ]; + postPatch = '' # sandbox does not support setuid/setgid/sticky bits substituteInPlace src/borg/testsuite/archiver.py \ @@ -103,7 +124,7 @@ python.pkgs.buildPythonApplication (finalAttrs: { py pytest-benchmark pytest-xdist - pytestCheckHook + pytest9_0CheckHook versionCheckHook ]; diff --git a/pkgs/by-name/c-/c-ares/package.nix b/pkgs/by-name/c-/c-ares/package.nix index 35d956d9d5b1..d26bcba991fd 100644 --- a/pkgs/by-name/c-/c-ares/package.nix +++ b/pkgs/by-name/c-/c-ares/package.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "c-ares"; - version = "1.34.6"; + version = "1.34.8"; strictDeps = true; __structuredAttrs = true; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { src = fetchurl { # Note: tag name varies in some versions, e.g. v1.30.0, c-ares-1_17_0. url = "https://github.com/c-ares/c-ares/releases/download/v${version}/c-ares-${version}.tar.gz"; - hash = "sha256-kS3XzDs+innFL9f7nA9Ozwqqc+Re/aiAJmotbia4TvU="; + hash = "sha256-wiK21oEJb5RE0sSGPSwRdAGeJ8rMoKSlwRTTbdfXv3g="; }; outputs = [ diff --git a/pkgs/by-name/ca/caffeine/package.nix b/pkgs/by-name/ca/caffeine/package.nix index d832921c5d40..195baaae0a5c 100644 --- a/pkgs/by-name/ca/caffeine/package.nix +++ b/pkgs/by-name/ca/caffeine/package.nix @@ -5,7 +5,6 @@ apple-sdk, darwin, xcbuildHook, - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -32,8 +31,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ xcbuildHook darwin.autoSignDarwinBinariesHook - # TODO: Remove once #536365 reaches this branch - llvmPackages.lld ]; buildInputs = [ @@ -45,9 +42,6 @@ stdenv.mkDerivation (finalAttrs: { "-configuration Release" ]; - # TODO: Remove once #536365 reaches this branch - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ca/cargo-auditable/builder.nix b/pkgs/by-name/ca/cargo-auditable/builder.nix index a865d352943b..1f3034e511c6 100644 --- a/pkgs/by-name/ca/cargo-auditable/builder.nix +++ b/pkgs/by-name/ca/cargo-auditable/builder.nix @@ -42,20 +42,9 @@ lib.extendMkDerivation { # https://github.com/rust-secure-code/cargo-auditable/issues/235 "--skip=test_proc_macro" "--skip=test_self_hosting" - ] - # TODO: Clean up on `staging`. - ++ - lib.optionals - ( - stdenv.hostPlatform.isMusl - || stdenv.hostPlatform.isAarch32 - || stdenv.hostPlatform.isDarwin - || stdenv.hostPlatform.isMsvc - ) - [ - # Expects `linker = "rust-lld"` to work. - "--skip=test_bare_linker" - ]; + # Expects `linker = "rust-lld"` to work. + "--skip=test_bare_linker" + ]; postInstall = '' installManPage cargo-auditable/cargo-auditable.1 diff --git a/pkgs/by-name/ca/catch2_3/package.nix b/pkgs/by-name/ca/catch2_3/package.nix index 4c931652b666..a00e75d4a29f 100644 --- a/pkgs/by-name/ca/catch2_3/package.nix +++ b/pkgs/by-name/ca/catch2_3/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "catch2"; - version = "3.15.0"; + version = "3.15.2"; src = fetchFromGitHub { owner = "catchorg"; repo = "Catch2"; tag = "v${version}"; - hash = "sha256-1GBzS8jgJXb82BMMRuHWqszB1Xwg6wohmCuINWE7QoU="; + hash = "sha256-Fb8dnuaKQwLxYmGDZy38ZsCKk6RwE4PSidD1xmnb1rU="; }; patches = lib.optionals stdenv.cc.isClang [ diff --git a/pkgs/by-name/ch/checkPhaseThreadLimitHook/hook.sh b/pkgs/by-name/ch/checkPhaseThreadLimitHook/hook.sh new file mode 100644 index 000000000000..1b610b631d84 --- /dev/null +++ b/pkgs/by-name/ch/checkPhaseThreadLimitHook/hook.sh @@ -0,0 +1,32 @@ +setupThreadLimit() { + # Limit number of threads used during checks. Default is "all cores". + # Using all cores causes high load on builders if checks are executed with NIX_BUILD_CORE parallelism. + # This gets even worse if multiple builds are scheduled on the same machine, potentially growing O(n^3) without explicit core limits. + + # global value to override all of these at once + NIX_CHECK_PHASE_DEFAULT_NUM_THREADS="${NIX_CHECK_PHASE_DEFAULT_NUM_THREADS:-1}" + + thread_vars=( + OMP_NUM_THREADS + OPENBLAS_NUM_THREADS + MKL_NUM_THREADS + BLIS_NUM_THREADS + VECLIB_MAXIMUM_THREADS + NUMBA_NUM_THREADS + NUMEXPR_NUM_THREADS + ) + + echo "setting known thread variables to default: $NIX_CHECK_PHASE_DEFAULT_NUM_THREADS" + for var in "${thread_vars[@]}"; do + export "$var=${!var:-$NIX_CHECK_PHASE_DEFAULT_NUM_THREADS}" + printf " %s=%s" "$var" "${!var}" + done + printf "\n" +} + + +if [[ -z "${dontLimitCheckPhaseThreads-}" ]]; then + echo "Using checkPhaseThreadLimitHook" + preCheckHooks+=('setupThreadLimit') + preInstallCheckHooks+=('setupThreadLimit') +fi diff --git a/pkgs/by-name/ch/checkPhaseThreadLimitHook/package.nix b/pkgs/by-name/ch/checkPhaseThreadLimitHook/package.nix new file mode 100644 index 000000000000..6bd9bda7135a --- /dev/null +++ b/pkgs/by-name/ch/checkPhaseThreadLimitHook/package.nix @@ -0,0 +1,15 @@ +{ + lib, + makeSetupHook, +}: + +makeSetupHook { + name = "check-phase-thread-limit-hook"; + + __structuredAttrs = true; + + meta = { + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ grimmauld ]; + }; +} ./hook.sh diff --git a/pkgs/by-name/cm/cmake/darwin-binary-paths.patch b/pkgs/by-name/cm/cmake/darwin-binary-paths.patch index b4e84bef22e6..af9d5af2cfe1 100644 --- a/pkgs/by-name/cm/cmake/darwin-binary-paths.patch +++ b/pkgs/by-name/cm/cmake/darwin-binary-paths.patch @@ -46,16 +46,3 @@ index 15a1e2c0c3..33bb304cf7 100644 OUTPUT_VARIABLE OSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) -diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt -index ddc975c202..8ff651fd90 100644 ---- a/Utilities/cmcurl/CMakeLists.txt -+++ b/Utilities/cmcurl/CMakeLists.txt -@@ -127,7 +127,7 @@ - set(OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET}) - else() - execute_process( -- COMMAND sw_vers -productVersion -+ COMMAND @sw_vers@ -productVersion - OUTPUT_VARIABLE OSX_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ) diff --git a/pkgs/by-name/cm/cmake/darwin-bsd-binary-paths.patch b/pkgs/by-name/cm/cmake/darwin-bsd-binary-paths.patch index b7917467f2f0..8fe699ac2953 100644 --- a/pkgs/by-name/cm/cmake/darwin-bsd-binary-paths.patch +++ b/pkgs/by-name/cm/cmake/darwin-bsd-binary-paths.patch @@ -39,13 +39,13 @@ index 260b6631c0..ffb8fcd8d2 100644 if(ProcessorCount_cmd_sysctl) execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c -index a918b8d9a7..36145707e1 100644 +index 8c22b4e43a..6d9ccef5e7 100644 --- a/Source/kwsys/ProcessUNIX.c +++ b/Source/kwsys/ProcessUNIX.c -@@ -2503,7 +2503,7 @@ - have two integers to store: the pid and then the ppid. */ +@@ -2503,7 +2503,7 @@ static pid_t kwsysProcessFork(kwsysProcess* cp, #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ - defined(__OpenBSD__) || defined(__GLIBC__) || defined(__GNU__) + defined(__NetBSD__) || defined(__OpenBSD__) || defined(__GLIBC__) || \ + defined(__GNU__) -# define KWSYSPE_PS_COMMAND "ps axo pid,ppid" +# define KWSYSPE_PS_COMMAND "@ps@ axo pid,ppid" # define KWSYSPE_PS_FORMAT "%d %d\n" diff --git a/pkgs/by-name/cm/cmake/package.nix b/pkgs/by-name/cm/cmake/package.nix index dc16992a27aa..134896e1fee7 100644 --- a/pkgs/by-name/cm/cmake/package.nix +++ b/pkgs/by-name/cm/cmake/package.nix @@ -50,11 +50,11 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString isMinimalBuild "-minimal" + lib.optionalString cursesUI "-cursesUI" + lib.optionalString qt5UI "-qt5UI"; - version = "4.1.2"; + version = "4.3.4"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz"; - hash = "sha256-ZD8EGCt7oyOrMfUm94UTT7ecujGIqFIgbvBHP+4oKhU="; + hash = "sha256-/e/4l7nrSddkU58rHtxut+FEDfMlZ4qXwZeEmekxrdo="; }; patches = [ diff --git a/pkgs/by-name/cm/cmake/remove-impure-search-paths.patch b/pkgs/by-name/cm/cmake/remove-impure-search-paths.patch index cb01326b9c35..9054302f3785 100644 --- a/pkgs/by-name/cm/cmake/remove-impure-search-paths.patch +++ b/pkgs/by-name/cm/cmake/remove-impure-search-paths.patch @@ -157,10 +157,10 @@ index 2a2f478fd7..f22281bdca 100644 list(REMOVE_DUPLICATES _CPACK_IFW_PATHS) diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake -index b45a279b94..884ccc0e32 100644 +index 9f986a78e7..5a6a9758ea 100644 --- a/Modules/FindBLAS.cmake +++ b/Modules/FindBLAS.cmake -@@ -1098,16 +1098,8 @@ +@@ -1112,16 +1112,10 @@ if(BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") ((BLA_VENDOR STREQUAL "ACML_GPU") AND (NOT BLAS_ACML_GPU_LIB_DIRS)) ) # try to find acml in "standard" paths @@ -176,9 +176,11 @@ index b45a279b94..884ccc0e32 100644 - endif() + set(_ACML_ROOT) + set(_ACML_GPU_ROOT) - list(GET _ACML_ROOT 0 _ACML_ROOT) - list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT) ++ list(GET _ACML_ROOT 0 _ACML_ROOT) ++ list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT) if(_ACML_ROOT) + list(GET _ACML_ROOT 0 _ACML_ROOT) + list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT) diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index bceb615ca0..2350b15655 100644 --- a/Modules/FindCUDA.cmake @@ -229,26 +231,13 @@ index bceb615ca0..2350b15655 100644 # Example of how to find an include file from the CUDA_SDK_ROOT_DIR diff --git a/Modules/FindCUDAToolkit.cmake b/Modules/FindCUDAToolkit.cmake -index b00cd26b7e..f5f74ebe1d 100644 +index df36f9a19b..825d1e7386 100644 --- a/Modules/FindCUDAToolkit.cmake +++ b/Modules/FindCUDAToolkit.cmake -@@ -776,12 +776,6 @@ - elseif(CUDAToolkit_ROOT_DIR AND EXISTS "${CUDAToolkit_ROOT_DIR}/${vf}") - set(${result_variable} "${CUDAToolkit_ROOT_DIR}/${vf}" PARENT_SCOPE) - break() -- elseif(CMAKE_SYSROOT_LINK AND EXISTS "${CMAKE_SYSROOT_LINK}/usr/lib/cuda/${vf}") -- set(${result_variable} "${CMAKE_SYSROOT_LINK}/usr/lib/cuda/${vf}" PARENT_SCOPE) -- break() -- elseif(EXISTS "${CMAKE_SYSROOT}/usr/lib/cuda/${vf}") -- set(${result_variable} "${CMAKE_SYSROOT}/usr/lib/cuda/${vf}" PARENT_SCOPE) -- break() - endif() - endforeach() - endfunction() -@@ -864,18 +858,8 @@ - # if CUDAToolkit_ROOT is not specified, it is assumed that the symlinked - # directory is the desired location. - if(NOT CUDAToolkit_ROOT_DIR) +@@ -830,18 +830,9 @@ else() + # We will also search the default symlink location /usr/local/cuda first since + # if CUDAToolkit_ROOT is not specified, it is assumed that the symlinked + # directory is the desired location. - if(UNIX) - if(NOT APPLE) - set(platform_base "/usr/local/cuda-") @@ -258,14 +247,14 @@ index b00cd26b7e..f5f74ebe1d 100644 - else() - set(platform_base "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v") - endif() -- + # Build out a descending list of possible cuda installations, e.g. - file(GLOB possible_paths "${platform_base}*") + set(possible_paths) # Iterate the glob results and create a descending list. set(versions) foreach(p ${possible_paths}) -@@ -891,14 +875,6 @@ +@@ -857,14 +848,6 @@ else() # With a descending list of versions, populate possible paths to search. set(search_paths) @@ -280,6 +269,19 @@ index b00cd26b7e..f5f74ebe1d 100644 # Now search for the toolkit again using the platform default search paths. _CUDAToolkit_find_root_dir(SEARCH_PATHS "${search_paths}" FIND_FLAGS PATH_SUFFIXES bin) +@@ -889,12 +872,6 @@ else() + elseif(CUDAToolkit_ROOT_DIR AND EXISTS "${CUDAToolkit_ROOT_DIR}/${vf}") + set(${result_variable} "${CUDAToolkit_ROOT_DIR}/${vf}" PARENT_SCOPE) + break() +- elseif(CMAKE_SYSROOT_LINK AND EXISTS "${CMAKE_SYSROOT_LINK}/usr/lib/cuda/${vf}") +- set(${result_variable} "${CMAKE_SYSROOT_LINK}/usr/lib/cuda/${vf}" PARENT_SCOPE) +- break() +- elseif(EXISTS "${CMAKE_SYSROOT}/usr/lib/cuda/${vf}") +- set(${result_variable} "${CMAKE_SYSROOT}/usr/lib/cuda/${vf}" PARENT_SCOPE) +- break() + endif() + endforeach() + endfunction() diff --git a/Modules/FindCoin3D.cmake b/Modules/FindCoin3D.cmake index 1d89c604e0..5b70e71a87 100644 --- a/Modules/FindCoin3D.cmake @@ -579,10 +581,10 @@ index 82156747d3..cc3f2a64af 100644 "Ice-${Ice_VERSION_SLICE2CPP_FULL}/slice" "Ice-${Ice_VERSION_SLICE2CPP_SHORT}/slice" diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake -index 10dcc51776..e272bd9583 100644 +index a70b00f330..1962b55d4a 100644 --- a/Modules/FindJNI.cmake +++ b/Modules/FindJNI.cmake -@@ -363,51 +363,6 @@ +@@ -367,56 +367,6 @@ if (WIN32) endif() set(_JNI_JAVA_DIRECTORIES_BASE @@ -604,6 +606,11 @@ index 10dcc51776..e272bd9583 100644 - # Arch Linux specific paths for default JVM - /usr/lib/jvm/default - # Ubuntu specific paths for default JVM +- /usr/lib/jvm/java-26-openjdk-{libarch} +- /usr/lib/jvm/java-25-openjdk-{libarch} # Ubuntu 24.04 LTS +- /usr/lib/jvm/java-24-openjdk-{libarch} +- /usr/lib/jvm/java-23-openjdk-{libarch} +- /usr/lib/jvm/java-22-openjdk-{libarch} - /usr/lib/jvm/java-21-openjdk-{libarch} # Ubuntu 23.04 - /usr/lib/jvm/java-20-openjdk-{libarch} # Ubuntu 22.10 - /usr/lib/jvm/java-19-openjdk-{libarch} # Ubuntu 22.04 LTS @@ -1093,28 +1100,28 @@ index edef791cb8..5515f44710 100644 find_path(PHP4_FOUND_INCLUDE_PATH main/php.h diff --git a/Modules/FindPerlLibs.cmake b/Modules/FindPerlLibs.cmake -index 330700e183..7fc89df6eb 100644 +index fbe1aade72..34562e7807 100644 --- a/Modules/FindPerlLibs.cmake +++ b/Modules/FindPerlLibs.cmake -@@ -141,10 +141,6 @@ +@@ -176,10 +176,6 @@ if (PERL_EXECUTABLE) PATHS "${PERL_UPDATE_ARCHLIB}/CORE" "${PERL_ARCHLIB}/CORE" -- /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE -- /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE -- /usr/lib/perl5/${PERL_VERSION_STRING}/CORE -- /usr/lib/perl/${PERL_VERSION_STRING}/CORE +- /usr/lib/perl5/${PerlLibs_VERSION}/${PERL_ARCHNAME}/CORE +- /usr/lib/perl/${PerlLibs_VERSION}/${PERL_ARCHNAME}/CORE +- /usr/lib/perl5/${PerlLibs_VERSION}/CORE +- /usr/lib/perl/${PerlLibs_VERSION}/CORE ) ### PERL_LIBRARY -@@ -154,10 +150,6 @@ +@@ -189,10 +185,6 @@ if (PERL_EXECUTABLE) PATHS "${PERL_UPDATE_ARCHLIB}/CORE" "${PERL_ARCHLIB}/CORE" -- /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE -- /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE -- /usr/lib/perl5/${PERL_VERSION_STRING}/CORE -- /usr/lib/perl/${PERL_VERSION_STRING}/CORE +- /usr/lib/perl5/${PerlLibs_VERSION}/${PERL_ARCHNAME}/CORE +- /usr/lib/perl/${PerlLibs_VERSION}/${PERL_ARCHNAME}/CORE +- /usr/lib/perl5/${PerlLibs_VERSION}/CORE +- /usr/lib/perl/${PerlLibs_VERSION}/CORE ) endif () @@ -1343,17 +1350,21 @@ index 2c62a5f17f..772a8d88f6 100644 PATH_SUFFIXES bin lib/qt lib/qt3 qt qt3 qt/bin qt3/bin lib/qt/bin lib/qt3/bin diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake -index 18b9e35855..dba9976565 100644 +index 863f70a7f2..17e3ac606a 100644 --- a/Modules/FindRuby.cmake +++ b/Modules/FindRuby.cmake -@@ -367,7 +367,6 @@ - HINTS - ${Ruby_HDR_DIR} - ${Ruby_ARCH_DIR} -- /usr/lib/ruby/${_Ruby_VERSION_SHORT}/i586-linux-gnu/ - ) +@@ -366,11 +366,6 @@ if (NOT Ruby_EXECUTABLE AND Ruby_FIND_VIRTUALENV MATCHES "^(FIRST|ONLY)$") + endif () + endif () - set(Ruby_INCLUDE_DIRS ${Ruby_INCLUDE_DIR}) +-# Check for Homebrew Ruby (non-virtualenv, common on MacOS) +-if (NOT Ruby_EXECUTABLE AND NOT Ruby_FIND_VIRTUALENV STREQUAL "ONLY") +- _RUBY_CHECK_BREW() +-endif () +- + # Fallback to system installed Ruby + if (NOT Ruby_EXECUTABLE AND NOT Ruby_FIND_VIRTUALENV STREQUAL "ONLY") + _RUBY_CHECK_SYSTEM() diff --git a/Modules/FindSDL.cmake b/Modules/FindSDL.cmake index a720dcc3df..73e222a27c 100644 --- a/Modules/FindSDL.cmake @@ -1644,6 +1655,20 @@ index 7c4f123a1d..4cfd53de9f 100644 if(NOT CMAKE_CROSSCOMPILING) execute_process(COMMAND @sw_vers@ -productVersion +@@ -277,13 +277,6 @@ if(NOT CMAKE_OSX_SYSROOT) + RESULT_VARIABLE _result + ) + unset(_sdk_macosx) +- +- list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES_EXCLUDE +- # Without -isysroot, some compiler drivers implicitly pass -L/usr/local/lib +- # to the linker. Since the macOS dynamic loader does not search it by +- # default, it is not a fully-implemented implicit link directory. +- /usr/local/lib +- ) + endif() + + #---------------------------------------------------------------------------- diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index 42c6b35424..f2985f3765 100644 --- a/Modules/Platform/Darwin.cmake @@ -1905,10 +1930,10 @@ index b977d955ca..5ff835298d 100644 set(_jar_doc "NOTSET") diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt -index 8ff651fd90..9659deedf5 100644 +index 2c6a6e6a19..3a43da619a 100644 --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt -@@ -1826,43 +1826,6 @@ +@@ -1566,43 +1566,6 @@ if(_curl_ca_bundle_supported) endif() mark_as_advanced(CURL_CA_PATH_SET) @@ -1929,8 +1954,8 @@ index 8ff651fd90..9659deedf5 100644 - if(EXISTS "${_search_ca_bundle_path}") - message(STATUS "Found CA bundle: ${_search_ca_bundle_path}") - set(CURL_CA_BUNDLE "${_search_ca_bundle_path}" CACHE -- STRING "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.") -- set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Path to the CA bundle has been set") +- STRING "Absolute path to the CA bundle. ${_ca_opt_desc}") +- set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Absolute path to the CA bundle has been set") - break() - endif() - endforeach() @@ -1943,8 +1968,8 @@ index 8ff651fd90..9659deedf5 100644 - unset(_curl_ca_files_found) - message(STATUS "Found CA path: ${_search_ca_path}") - set(CURL_CA_PATH "${_search_ca_path}" CACHE -- STRING "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.") -- set(CURL_CA_PATH_SET TRUE CACHE BOOL "Path to the CA bundle has been set") +- STRING "Absolute path to a directory containing CA certificates stored individually. ${_ca_opt_desc}") +- set(CURL_CA_PATH_SET TRUE CACHE BOOL "Absolute path to the CA bundle has been set") - endif() - endif() - endif() diff --git a/pkgs/by-name/co/codespell/package.nix b/pkgs/by-name/co/codespell/package.nix index d033c7beb9f7..7478cf94b047 100644 --- a/pkgs/by-name/co/codespell/package.nix +++ b/pkgs/by-name/co/codespell/package.nix @@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { ]; nativeCheckInputs = with python3.pkgs; [ - aspell-python + aspell-python-py3 chardet pytestCheckHook pytest-cov-stub diff --git a/pkgs/by-name/cu/curlMinimal/package.nix b/pkgs/by-name/cu/curlMinimal/package.nix index 832ffbbd04b6..8ef587a7ab88 100644 --- a/pkgs/by-name/cu/curlMinimal/package.nix +++ b/pkgs/by-name/cu/curlMinimal/package.nix @@ -6,6 +6,8 @@ perl, nixosTests, autoreconfHook, + buildPackages, + runtimeShellPackage, brotliSupport ? false, brotli, c-aresSupport ? false, @@ -82,6 +84,9 @@ assert ]) > 1 ); +let + isCross = !lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform; +in stdenv.mkDerivation (finalAttrs: { pname = "curl"; version = "8.21.0"; @@ -241,7 +246,20 @@ stdenv.mkDerivation (finalAttrs: { ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary} ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4 ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4.4.0 + '' + # The wcurl shell script found in `''${!outputBin}/bin`, is located in the + # source along with all the scripts patched in `postPatch` above. + # `patchShebangs` at that stage causes the host intended wcurl script to get + # the buildPlatform's runtimeShell shebang, instead of the hostPlatform's. To + # make sure this doesn't happen we disallow it, and fix it above in the + # postInstall, and also with the conditional hostPlatform's + # runtimeShellPackage added in buildInputs. + + lib.optionalString isCross '' + patchShebangs --update --host "''${!outputBin}/bin" ''; + outputChecks.bin.disallowedReferences = lib.optional isCross buildPackages.runtimeShellPackage; + outputChecks.out.disallowedReferences = lib.optional isCross buildPackages.runtimeShellPackage; + buildInputs = lib.optional isCross runtimeShellPackage; passthru = let diff --git a/pkgs/by-name/da/darktable/package.nix b/pkgs/by-name/da/darktable/package.nix index 00b9c8d1264e..88e96055a2db 100644 --- a/pkgs/by-name/da/darktable/package.nix +++ b/pkgs/by-name/da/darktable/package.nix @@ -103,8 +103,7 @@ stdenv.mkDerivation rec { pkg-config wrapGAppsHook3 saxon # Use Saxon instead of libxslt to fix XSLT generate-id() consistency issues - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + ]; buildInputs = [ SDL2 @@ -185,12 +184,6 @@ stdenv.mkDerivation rec { "-DUSE_KWALLET=OFF" ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Work around ld64's libc++ hardening issue. - # TODO: Remove once #536365 reaches this branch. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - # darktable changed its rpath handling in commit # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in diff --git a/pkgs/by-name/di/diffoscope/package.nix b/pkgs/by-name/di/diffoscope/package.nix index 6a55cf5a1eab..985b1b1d51c8 100644 --- a/pkgs/by-name/di/diffoscope/package.nix +++ b/pkgs/by-name/di/diffoscope/package.nix @@ -98,6 +98,11 @@ let tag = version; hash = "sha256-ZYEjT/yShfA4+zpbGOtaFOx1nSSOWPtMvskPhHv3c9U="; }; + + postPatch = '' + substituteInPlace py_ext/setup.py \ + --replace-fail "0.2.0" "${version}" + ''; } ); }; diff --git a/pkgs/by-name/dm/dmarc-metrics-exporter/package.nix b/pkgs/by-name/dm/dmarc-metrics-exporter/package.nix index fa9419037b81..feda0b20daeb 100644 --- a/pkgs/by-name/dm/dmarc-metrics-exporter/package.nix +++ b/pkgs/by-name/dm/dmarc-metrics-exporter/package.nix @@ -1,16 +1,11 @@ { lib, stdenv, - python312, + python3Packages, fetchFromGitHub, }: -let - # more-itertools unsupported on 3.13 - python3 = python312; -in - -python3.pkgs.buildPythonApplication (finalAttrs: { +python3Packages.buildPythonApplication (finalAttrs: { pname = "dmarc-metrics-exporter"; version = "1.3.1"; @@ -25,15 +20,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pythonRelaxDeps = true; - build-system = with python3.pkgs; [ + build-system = with python3Packages; [ poetry-core ]; dependencies = - with python3.pkgs; + with python3Packages; [ bite-parser - dataclasses-serialization prometheus-client pydantic structlog @@ -42,7 +36,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { ] ++ uvicorn.optional-dependencies.standard; - nativeCheckInputs = with python3.pkgs; [ + nativeCheckInputs = with python3Packages; [ aiohttp pytest-asyncio pytestCheckHook diff --git a/pkgs/by-name/du/duckdb/package.nix b/pkgs/by-name/du/duckdb/package.nix index 401df7d6762b..9c86d318fa57 100644 --- a/pkgs/by-name/du/duckdb/package.nix +++ b/pkgs/by-name/du/duckdb/package.nix @@ -152,11 +152,12 @@ stdenv.mkDerivation (finalAttrs: { ); LD_LIBRARY_PATH = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; in + # FIXME: do something about the excessive logging on x86_64-linux (> 250 MiB). '' runHook preInstallCheck (($(ulimit -n) < 1024)) && ulimit -n 1024 - HOME="$(mktemp -d)" ${LD_LIBRARY_PATH}="$lib/lib" ./test/unittest ${toString excludes} + HOME="$(mktemp -d)" ${LD_LIBRARY_PATH}="$lib/lib" ./test/unittest ${toString excludes}${lib.optionalString stdenv.hostPlatform.isx86_64 " >/dev/null"} runHook postInstallCheck ''; diff --git a/pkgs/by-name/du/duckdb/versions.json b/pkgs/by-name/du/duckdb/versions.json index aa83cd89b603..0f1ac213431c 100644 --- a/pkgs/by-name/du/duckdb/versions.json +++ b/pkgs/by-name/du/duckdb/versions.json @@ -1,6 +1,6 @@ { - "version": "1.5.3", - "rev": "14eca11bd9d4a0de2ea0f078be588a9c1c5b279c", - "hash": "sha256-k7mtYXHS8IcBAuOCJ/09lPYLxF3RMODIeDaz3tKmQAA=", - "python_hash": "sha256-r0jfYIyBHN5z4QKKxS/yjnkGjUy/yg9Kt/O6adBbH7Q=" + "version": "1.5.4", + "rev": "08e34c447bae34eaee3723cac61f2878b6bdf787", + "hash": "sha256-6xpKZKfH5/nwE2nU5kcpgITKFm3ilb1PYf9QEk+bKoM=", + "python_hash": "sha256-2TgMuaeAehJ5rvpfA57KTmHtTZnvfa/nl/Y9ASCwVs0=" } diff --git a/pkgs/by-name/fl/fltk_1_3/package.nix b/pkgs/by-name/fl/fltk_1_3/package.nix index af71afe150d8..41762add1ce7 100644 --- a/pkgs/by-name/fl/fltk_1_3/package.nix +++ b/pkgs/by-name/fl/fltk_1_3/package.nix @@ -35,8 +35,6 @@ withShared ? true, nix-update-script, - # TODO: Clean up on `staging` - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -70,10 +68,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals withDocs [ doxygen graphviz - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = @@ -145,12 +139,6 @@ stdenv.mkDerivation (finalAttrs: { # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) - ] - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ]; preBuild = lib.optionalString (withCairo && withShared && stdenv.hostPlatform.isDarwin) '' diff --git a/pkgs/by-name/fl/fltk_1_4/package.nix b/pkgs/by-name/fl/fltk_1_4/package.nix index f6fe650fafd7..57d9b9d87805 100644 --- a/pkgs/by-name/fl/fltk_1_4/package.nix +++ b/pkgs/by-name/fl/fltk_1_4/package.nix @@ -46,8 +46,6 @@ withExamples ? (stdenv.buildPlatform == stdenv.hostPlatform), nix-update-script, - # TODO: Clean up on `staging` - llvmPackages, }: # pango support depends on Xft @@ -86,10 +84,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals withDocs [ doxygen graphviz - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = @@ -175,12 +169,6 @@ stdenv.mkDerivation (finalAttrs: { # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) - ] - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ]; postBuild = lib.optionalString withDocs '' diff --git a/pkgs/by-name/fr/freeipa/package.nix b/pkgs/by-name/fr/freeipa/package.nix index 6813e656de96..87de4728e992 100644 --- a/pkgs/by-name/fr/freeipa/package.nix +++ b/pkgs/by-name/fr/freeipa/package.nix @@ -60,7 +60,7 @@ let yubico setuptools jinja2 - augeas + python-augeas samba ifaddr ]; diff --git a/pkgs/by-name/gf/gfxstream/package.nix b/pkgs/by-name/gf/gfxstream/package.nix index 42f9ba41d58f..5ec352798319 100644 --- a/pkgs/by-name/gf/gfxstream/package.nix +++ b/pkgs/by-name/gf/gfxstream/package.nix @@ -13,8 +13,6 @@ vulkan-headers, vulkan-loader, libx11, - # TODO: Clean up on `staging`. - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -43,10 +41,6 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config python3 - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ aemu @@ -66,8 +60,6 @@ stdenv.mkDerivation (finalAttrs: { "-framework QuartzCore" "-needed-lvulkan" ]; - # TODO: Clean up on `staging`. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; # dlopens libvulkan. diff --git a/pkgs/by-name/gi/git/osxkeychain-link-rust_lib.patch b/pkgs/by-name/gi/git/osxkeychain-link-rust_lib.patch deleted file mode 100644 index a0015f87888d..000000000000 --- a/pkgs/by-name/gi/git/osxkeychain-link-rust_lib.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -ur a/Makefile b/Makefile ---- a/Makefile 2026-02-14 15:58:16.624434564 -0500 -+++ b/Makefile 2026-02-14 15:59:25.701016105 -0500 -@@ -4059,9 +4059,9 @@ - contrib/libgit-sys/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT) - $(AR) $(ARFLAGS) $@ $^ - --contrib/credential/osxkeychain/git-credential-osxkeychain: contrib/credential/osxkeychain/git-credential-osxkeychain.o $(LIB_FILE) GIT-LDFLAGS -+contrib/credential/osxkeychain/git-credential-osxkeychain: contrib/credential/osxkeychain/git-credential-osxkeychain.o $(LIB_FILE) $(RUST_LIB) GIT-LDFLAGS - $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \ -- $(filter %.o,$^) $(LIB_FILE) $(EXTLIBS) -framework Security -framework CoreFoundation -+ $(filter %.o,$^) $(LIB_FILE) $(RUST_LIB) $(EXTLIBS) -framework Security -framework CoreFoundation - - contrib/credential/osxkeychain/git-credential-osxkeychain.o: contrib/credential/osxkeychain/git-credential-osxkeychain.c GIT-CFLAGS - $(QUIET_LINK)$(CC) -o $@ -c $(dep_args) $(compdb_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $< diff --git a/pkgs/by-name/gi/git/package.nix b/pkgs/by-name/gi/git/package.nix index bda0344badb9..a6fe8a13efc3 100644 --- a/pkgs/by-name/gi/git/package.nix +++ b/pkgs/by-name/gi/git/package.nix @@ -55,6 +55,7 @@ rustSupport ? lib.meta.availableOn stdenv.hostPlatform rustc, cargo, rustc, + nix-update-script, }: assert osxkeychainSupport -> stdenv.hostPlatform.isDarwin; @@ -62,7 +63,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.54.0"; + version = "2.55.0"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI @@ -104,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: { }.tar.xz" else "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - hash = "sha256-9okWI2TBDeee+Jqo2/SHMesFfjTtu9IKylEM4BVGgaM="; + hash = "sha256-RX/bBNyHKOAH1GiGleaRLm9oByeSDypAvxHqzBdQU1c="; }; outputs = [ "out" ] ++ lib.optional withManual "doc"; @@ -132,17 +133,6 @@ stdenv.mkDerivation (finalAttrs: { url = "https://lore.kernel.org/git/20260504101429.340123-1-joerg@thalheim.io/raw"; hash = "sha256-44EPfEJ39LjPWjqjFb52EKNaJGzYxZzJaJOis8QnazU="; }) - # Address test failure (new in 2.52.0) caused by `git-gui--askyesno` being - # installed by `make install`. - (fetchurl { - name = "expect-gui--askyesno-failure-in-t1517.patch"; - url = "https://lore.kernel.org/git/20251201031040.1120091-1-brianmlyles@gmail.com/raw"; - hash = "sha256-vvhbvg74OIMzfksHiErSnjOZ+W0M/T9J8GOQ4E4wKbU="; - }) - ] - ++ lib.optionals rustSupport [ - # The above patch doesn’t work with Rust support enabled. - ./osxkeychain-link-rust_lib.patch ] ++ lib.optionals withSsh [ # Hard-code the ssh executable to ${pkgs.openssh}/bin/ssh instead of @@ -271,7 +261,7 @@ stdenv.mkDerivation (finalAttrs: { # See https://github.com/Homebrew/homebrew-core/commit/dfa3ccf1e7d3901e371b5140b935839ba9d8b706 ++ lib.optional stdenv.hostPlatform.isDarwin "TKFRAMEWORK=/nonexistent" # Starting with future Git version 3.0.0, rust will be mandatory. For now, it's optional. - ++ lib.optional rustSupport "WITH_RUST=YesPlease"; + ++ lib.optional (!rustSupport) "NO_RUST=YesPlease"; disallowedReferences = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ stdenv.shellPackage @@ -492,6 +482,13 @@ stdenv.mkDerivation (finalAttrs: { installCheckFlags = [ "DEFAULT_TEST_TARGET=prove" "PERL_PATH=${buildPackages.perl}/bin/perl" + + # Without setting debug explicitly, the test suite inherits the value of + # debug from the environment, which -- if separateDebugInfo is true -- will + # be the debug output path. The test suite then prints out extra debug + # info, as if `--debug` were passed on the command line, which causes test + # failures because that info can't be interpreted by the test harness. + "debug=" ]; nativeInstallCheckInputs = lib.optional ( @@ -552,6 +549,18 @@ stdenv.mkDerivation (finalAttrs: { disable_test t7513-interpret-trailers disable_test t2200-add-update + # Fails when run with GIT_TEST_INSTALLED, that is, when we're testing an + # installed package rather than the build output prior to installation. + # This test is fragile when testing an installed package even in Nix's + # otherwise clean build environment, upstream haven't been keen on patching + # individual failures when they crop up, and nobody has yet managed to + # rewrite the test to be less fragile. + # + # See in particular the below messages and discussions around them: + # https://lore.kernel.org/git/xmqqect7fhnp.fsf@gitster.g/ + # https://lore.kernel.org/git/20251201031040.1120091-1-brianmlyles@gmail.com/ + disable_test t1517-outside-repo + # Fails reproducibly on ZFS on Linux with formD normalization disable_test t0021-conversion disable_test t3910-mac-os-precompose @@ -616,7 +625,17 @@ stdenv.mkDerivation (finalAttrs: { }; } // tests.fetchgit; - updateScript = ./update.sh; + + # We get the source from the release packages, since that contains a few + # extra files that make the build easier without already having a Git + # installation. We get the version from GitHub, however, as that provides + # a nicer API for checking what the latest version is. + updateScript = nix-update-script { + extraArgs = [ + "--url" + "https://github.com/git/git" + ]; + }; }; meta = { diff --git a/pkgs/by-name/gi/git/update.sh b/pkgs/by-name/gi/git/update.sh deleted file mode 100755 index 7aa1e90d53b3..000000000000 --- a/pkgs/by-name/gi/git/update.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl common-updater-scripts jq git - -set -eu -o pipefail - -oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')" -latestTag="$(git ls-remote --tags --sort="v:refname" https://github.com/git/git.git | grep -v '{}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')" -targetVersion="${1:-$latestTag}" - -if [ ! "${oldVersion}" = "${targetVersion}" ]; then - update-source-version git "${targetVersion}" - nixpkgs="$(git rev-parse --show-toplevel)" - default_nix="$nixpkgs/pkgs/applications/version-management/git/default.nix" - nix-build -A git - git add "${default_nix}" - git commit -m "git: ${oldVersion} -> ${targetVersion}" -else - echo "git is already up-to-date" -fi diff --git a/pkgs/by-name/gi/github-runner/package.nix b/pkgs/by-name/gi/github-runner/package.nix index e8d0ede191e6..3bc156df62ba 100644 --- a/pkgs/by-name/gi/github-runner/package.nix +++ b/pkgs/by-name/gi/github-runner/package.nix @@ -17,10 +17,8 @@ runtimeShell, # List of Node.js runtimes the package should support nodeRuntimes ? [ - # Node.js 20.x has reached EOL and is marked as insecure in Nixpkgs, thus omitted here "node24" ], - nodejs_20, nodejs_24, }: @@ -28,7 +26,7 @@ assert builtins.all ( x: builtins.elem x [ - "node20" + # Node.js 20.x has reached EOL and was removed from Nixpkgs, thus omitted here "node24" ] ) nodeRuntimes; @@ -250,9 +248,6 @@ buildDotnetModule (finalAttrs: { export GITHUB_ACTIONS_RUNNER_TRACE=1 mkdir -p _layout/externals '' - + lib.optionalString (lib.elem "node20" nodeRuntimes) '' - ln -s ${nodejs_20} _layout/externals/node20 - '' + lib.optionalString (lib.elem "node24" nodeRuntimes) '' ln -s ${nodejs_24} _layout/externals/node24 ''; @@ -294,9 +289,6 @@ buildDotnetModule (finalAttrs: { # link the Alpine Node flavors. mkdir -p $out/lib/externals '' - + lib.optionalString (lib.elem "node20" nodeRuntimes) '' - ln -s ${nodejs_20} $out/lib/externals/node20 - '' + lib.optionalString (lib.elem "node24" nodeRuntimes) '' ln -s ${nodejs_24} $out/lib/externals/node24 '' diff --git a/pkgs/by-name/gl/glfw3/package.nix b/pkgs/by-name/gl/glfw3/package.nix index 6ecf627adce1..711406030b70 100644 --- a/pkgs/by-name/gl/glfw3/package.nix +++ b/pkgs/by-name/gl/glfw3/package.nix @@ -20,9 +20,6 @@ libxkbcommon, libdecor, withMinecraftPatch ? false, - - # TODO: Clean up on `staging`. - llvmPackages, }: let version = "3.4"; @@ -61,11 +58,7 @@ stdenv.mkDerivation { cmake pkg-config ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - # TODO: Clean up on `staging`. - llvmPackages.lld - ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ] ++ lib.optionals stdenv.hostPlatform.isLinux [ wayland-scanner ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ @@ -93,9 +86,6 @@ stdenv.mkDerivation { cmakeFlags = [ # Static linking isn't supported (lib.cmakeBool "BUILD_SHARED_LIBS" true) - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ]; env = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isWindows) { diff --git a/pkgs/by-name/gl/glib/package.nix b/pkgs/by-name/gl/glib/package.nix index bda3d4a4a09c..4aa4d639df9e 100644 --- a/pkgs/by-name/gl/glib/package.nix +++ b/pkgs/by-name/gl/glib/package.nix @@ -24,8 +24,6 @@ gi-docgen, # use util-linuxMinimal to avoid circular dependency (util-linux, systemd, glib) util-linuxMinimal ? null, - # TODO: Clean up on `staging`. - llvmPackages, buildPackages, # this is just for tests (not in the closure of any regular package) @@ -209,10 +207,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals withDtrace [ systemtap' # for dtrace - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; propagatedBuildInputs = [ @@ -256,13 +250,6 @@ stdenv.mkDerivation (finalAttrs: { "-DG_DISABLE_CAST_CHECKS" ]; DETERMINISTIC_BUILD = 1; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Work around ld64 hardening issue. - # - # TODO: Clean up on `staging`. - CC_LD = "lld"; - OBJC_LD = "lld"; }; postPatch = '' diff --git a/pkgs/by-name/gl/glog/package.nix b/pkgs/by-name/gl/glog/package.nix index cfe37529d3b3..ef5fb3be4277 100644 --- a/pkgs/by-name/gl/glog/package.nix +++ b/pkgs/by-name/gl/glog/package.nix @@ -38,6 +38,8 @@ stdenv.mkDerivation (finalAttrs: { # consumers of the CMake config file to fail at the configuration step. # Explicitly disabling unwind support sidesteps the issue. "-DWITH_UNWIND=OFF" + # Enable pkg-config support so that a `.pc` file is generated. + "-DWITH_PKGCONFIG=ON" ]; doCheck = true; diff --git a/pkgs/by-name/gn/gnutar/acl-2.4.0-name-conflicts.patch b/pkgs/by-name/gn/gnutar/acl-2.4.0-name-conflicts.patch new file mode 100644 index 000000000000..c871551bc772 --- /dev/null +++ b/pkgs/by-name/gn/gnutar/acl-2.4.0-name-conflicts.patch @@ -0,0 +1,85 @@ +diff --git a/src/xattrs.c b/src/xattrs.c +index 86a7e59cbc..c872ae308d 100644 +--- a/src/xattrs.c ++++ b/src/xattrs.c +@@ -139,13 +139,13 @@ + #ifdef HAVE_POSIX_ACLS + + /* acl-at wrappers, TODO: move to gnulib in future? */ +-static acl_t acl_get_file_at (int, const char *, acl_type_t); +-static int acl_set_file_at (int, const char *, acl_type_t, acl_t); ++static acl_t tar_acl_get_file_at (int, const char *, acl_type_t); ++static int tar_acl_set_file_at (int, const char *, acl_type_t, acl_t); + static int file_has_acl_at (int, char const *, struct stat const *); +-static int acl_delete_def_file_at (int, char const *); ++static int tar_acl_delete_def_file_at (int, char const *); + +-/* acl_get_file_at */ +-#define AT_FUNC_NAME acl_get_file_at ++/* tar_acl_get_file_at */ ++#define AT_FUNC_NAME tar_acl_get_file_at + #define AT_FUNC_RESULT acl_t + #define AT_FUNC_FAIL (acl_t)NULL + #define AT_FUNC_F1 acl_get_file +@@ -159,8 +159,8 @@ + #undef AT_FUNC_POST_FILE_PARAM_DECLS + #undef AT_FUNC_POST_FILE_ARGS + +-/* acl_set_file_at */ +-#define AT_FUNC_NAME acl_set_file_at ++/* tar_acl_set_file_at */ ++#define AT_FUNC_NAME tar_acl_set_file_at + #define AT_FUNC_F1 acl_set_file + #define AT_FUNC_POST_FILE_PARAM_DECLS , acl_type_t type, acl_t acl + #define AT_FUNC_POST_FILE_ARGS , type, acl +@@ -170,8 +170,8 @@ + #undef AT_FUNC_POST_FILE_PARAM_DECLS + #undef AT_FUNC_POST_FILE_ARGS + +-/* acl_delete_def_file_at */ +-#define AT_FUNC_NAME acl_delete_def_file_at ++/* tar_acl_delete_def_file_at */ ++#define AT_FUNC_NAME tar_acl_delete_def_file_at + #define AT_FUNC_F1 acl_delete_def_file + #define AT_FUNC_POST_FILE_PARAM_DECLS + #define AT_FUNC_POST_FILE_ARGS +@@ -299,10 +299,10 @@ + /* No "default" IEEE 1003.1e ACL set for directory. At this moment, + FILE_NAME may already have inherited default acls from parent + directory; clean them up. */ +- if (acl_delete_def_file_at (chdir_fd, file_name)) ++ if (tar_acl_delete_def_file_at (chdir_fd, file_name)) + WARNOPT (WARN_XATTR_WRITE, + (0, errno, +- _("acl_delete_def_file_at: Cannot drop default POSIX ACLs " ++ _("tar_acl_delete_def_file_at: Cannot drop default POSIX ACLs " + "for file '%s'"), + file_name)); + return; +@@ -316,11 +316,11 @@ + return; + } + +- if (acl_set_file_at (chdir_fd, file_name, type, acl) == -1) ++ if (tar_acl_set_file_at (chdir_fd, file_name, type, acl) == -1) + /* warn even if filesystem does not support acls */ + WARNOPT (WARN_XATTR_WRITE, + (0, errno, +- _ ("acl_set_file_at: Cannot set POSIX ACLs for file '%s'"), ++ _ ("tar_acl_set_file_at: Cannot set POSIX ACLs for file '%s'"), + file_name)); + + acl_free (acl); +@@ -357,10 +357,10 @@ + char *val = NULL; + acl_t acl; + +- if (!(acl = acl_get_file_at (parentfd, file_name, type))) ++ if (!(acl = tar_acl_get_file_at (parentfd, file_name, type))) + { + if (errno != ENOTSUP) +- call_arg_warn ("acl_get_file_at", file_name); ++ call_arg_warn ("tar_acl_get_file_at", file_name); + return; + } + diff --git a/pkgs/by-name/gn/gnutar/package.nix b/pkgs/by-name/gn/gnutar/package.nix index acf5f3233aeb..c7b072b71d10 100644 --- a/pkgs/by-name/gn/gnutar/package.nix +++ b/pkgs/by-name/gn/gnutar/package.nix @@ -24,9 +24,17 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-TWL/NzQux67XSFNTI5MMfPlKz3HDWRiCsmp+pQ8+3BY="; }; - # GNU tar fails to link libiconv even though the configure script detects it. - # https://savannah.gnu.org/bugs/index.php?64441 - patches = [ ./link-libiconv.patch ]; + patches = [ + # GNU tar fails to link libiconv even though the configure script detects it. + # https://savannah.gnu.org/bugs/index.php?64441 + ./link-libiconv.patch + + # acl 2.4.0 adds functions that have name conflicts with internal + # (`static`) functions from GNU tar. we prefix `tar_` to these names to + # avoid this, matching the approach from + # https://lists.gnu.org/archive/html/bug-tar/2026-06/msg00013.html + ./acl-2.4.0-name-conflicts.patch + ]; # gnutar tries to call into gettext between `fork` and `exec`, # which is not safe on darwin. diff --git a/pkgs/by-name/gp/gpgme/package.nix b/pkgs/by-name/gp/gpgme/package.nix index 33edca30f448..eb406544e78e 100644 --- a/pkgs/by-name/gp/gpgme/package.nix +++ b/pkgs/by-name/gp/gpgme/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "gpgme"; - version = "2.1.0"; + version = "2.1.2"; outputs = [ "out" @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnupg/gpgme/gpgme-${finalAttrs.version}.tar.bz2"; - hash = "sha256-hBxepT/CYln0+/DovemC3qG4ocoMt35oHIKwUFZr+Ss="; + hash = "sha256-BoepWymYccQUH1B8D3QN5rQpyawGfQ+k4GLjJk31+3c="; }; postPatch = '' diff --git a/pkgs/by-name/gr/graphviz/package.nix b/pkgs/by-name/gr/graphviz/package.nix index 0ee2c6b0f129..98a60becb373 100644 --- a/pkgs/by-name/gr/graphviz/package.nix +++ b/pkgs/by-name/gr/graphviz/package.nix @@ -22,7 +22,7 @@ libxrender, python3, withXorg ? true, - withQuartz ? false, + withQuartz ? stdenv.hostPlatform.isDarwin, # for passthru.tests exiv2, diff --git a/pkgs/by-name/gr/grpc/package.nix b/pkgs/by-name/gr/grpc/package.nix index 84e80bfc5b7d..7688baf9284e 100644 --- a/pkgs/by-name/gr/grpc/package.nix +++ b/pkgs/by-name/gr/grpc/package.nix @@ -25,7 +25,7 @@ # nixpkgs-update: no auto update stdenv.mkDerivation (finalAttrs: { pname = "grpc"; - version = "1.81.0"; # N.B: if you change this, please update: + version = "1.82.1"; # N.B: if you change this, please update: # pythonPackages.grpcio # pythonPackages.grpcio-channelz # pythonPackages.grpcio-health-checking @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "grpc"; repo = "grpc"; tag = "v${finalAttrs.version}"; - hash = "sha256-o1wfHrgD2VE6HcPPEWQPQZXrMh+8+GNoUjbCQoRlIWg="; + hash = "sha256-w4tl1y1GITlfeHTsSAZm45d8HQVzqSBVEQXoEqO0h5g="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/gs/gssdp_1_6/package.nix b/pkgs/by-name/gs/gssdp_1_6/package.nix index a25d7c8f1547..47c18a41e48b 100644 --- a/pkgs/by-name/gs/gssdp_1_6/package.nix +++ b/pkgs/by-name/gs/gssdp_1_6/package.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "gssdp"; - version = "1.6.5"; + version = "1.6.6"; outputs = [ "out" @@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor finalAttrs.version}/gssdp-${finalAttrs.version}.tar.xz"; - hash = "sha256-NP2CTDbvn1dVlNVXJyhBLduMUi9ga2yRPvi1qACq/E4="; + hash = "sha256-dn0idSVM4O/q6sZEGf+fTwrUcNE072cvXFVrKrt4a8s="; }; depsBuildBuild = [ diff --git a/pkgs/by-name/gt/gtk-mac-integration/package.nix b/pkgs/by-name/gt/gtk-mac-integration/package.nix index 26b30559c991..19976e462e15 100644 --- a/pkgs/by-name/gt/gtk-mac-integration/package.nix +++ b/pkgs/by-name/gt/gtk-mac-integration/package.nix @@ -9,8 +9,6 @@ gtk ? gtk3, gtk3, gobject-introspection, - # TODO: Clean up on `staging` - llvmPackages, }: stdenv.mkDerivation rec { @@ -30,8 +28,6 @@ stdenv.mkDerivation rec { pkg-config gtk-doc gobject-introspection - # TODO: Clean up on `staging` - llvmPackages.lld ]; buildInputs = [ glib ]; propagatedBuildInputs = [ gtk ]; @@ -40,13 +36,6 @@ stdenv.mkDerivation rec { gtkdocize ''; - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - meta = { description = "Provides integration for GTK applications into the Mac desktop"; license = lib.licenses.lgpl21; diff --git a/pkgs/by-name/gt/gtk2/package.nix b/pkgs/by-name/gt/gtk2/package.nix index 369cfbee3695..3f05469c1afc 100644 --- a/pkgs/by-name/gt/gtk2/package.nix +++ b/pkgs/by-name/gt/gtk2/package.nix @@ -27,8 +27,6 @@ gdktarget ? if stdenv.hostPlatform.isDarwin then "quartz" else "x11", cupsSupport ? config.gtk2.cups or stdenv.hostPlatform.isLinux, xineramaSupport ? stdenv.hostPlatform.isLinux, - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -58,19 +56,13 @@ stdenv.mkDerivation (finalAttrs: { gtkCleanImmodulesCache ]; - nativeBuildInputs = - finalAttrs.setupHooks - ++ [ - gdk-pixbuf - gettext - gobject-introspection - perl - pkg-config - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld - ]; + nativeBuildInputs = finalAttrs.setupHooks ++ [ + gdk-pixbuf + gettext + gobject-introspection + perl + pkg-config + ]; patches = [ ./patches/2.0-immodules.cache.patch @@ -128,19 +120,12 @@ stdenv.mkDerivation (finalAttrs: { "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" ]; - env = - lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=implicit-int" - "-Wno-error=incompatible-pointer-types" - ]; - } - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-int" + "-Wno-error=incompatible-pointer-types" + ]; + }; enableParallelBuilding = true; diff --git a/pkgs/by-name/gt/gtk3/package.nix b/pkgs/by-name/gt/gtk3/package.nix index bd66967f1014..3c3ffc066dbb 100644 --- a/pkgs/by-name/gt/gtk3/package.nix +++ b/pkgs/by-name/gt/gtk3/package.nix @@ -58,8 +58,6 @@ broadwaySupport ? true, wayland-scanner, testers, - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -144,10 +142,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals waylandSupport [ wayland-scanner - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = @@ -219,17 +213,7 @@ stdenv.mkDerivation (finalAttrs: { # These are the defines that'd you'd get with --enable-debug=minimum (default). # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options - env = { - NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # workaround for ld64 hardening issue - # - # TODO: Clean up on `staging` - - CC_LD = "lld"; - OBJC_LD = "lld"; - }; + env.NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; postPatch = '' # See https://github.com/NixOS/nixpkgs/issues/132259 diff --git a/pkgs/by-name/gt/gtk4/package.nix b/pkgs/by-name/gt/gtk4/package.nix index c92464ba6e3d..9b7807508a35 100644 --- a/pkgs/by-name/gt/gtk4/package.nix +++ b/pkgs/by-name/gt/gtk4/package.nix @@ -60,7 +60,6 @@ compileSchemas ? stdenv.hostPlatform.emulatorAvailable buildPackages, cups, libexecinfo, - llvmPackages, broadwaySupport ? true, testers, darwinMinVersionHook, @@ -131,10 +130,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals vulkanSupport [ shaderc # for glslc ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - llvmPackages.lld - ] ++ finalAttrs.setupHooks; buildInputs = [ @@ -226,10 +221,6 @@ stdenv.mkDerivation (finalAttrs: { } // lib.optionalAttrs stdenv.hostPlatform.isMusl { NIX_LDFLAGS = "-lexecinfo"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - NIX_CFLAGS_LINK = "--ld-path=${lib.getExe' llvmPackages.lld "ld64.lld"}"; }; postPatch = '' diff --git a/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch b/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch new file mode 100644 index 000000000000..84f2575526e9 --- /dev/null +++ b/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch @@ -0,0 +1,13 @@ +diff --git a/src/hdr_histogram.c b/src/hdr_histogram.c +index b2041f8..a5dd8d7 100644 +--- a/src/hdr_histogram.c ++++ b/src/hdr_histogram.c +@@ -36,7 +36,7 @@ + + /* Runtime-dispatched AVX2 path: keep the rest of this TU at the project's + baseline ISA so the shipped binary does not silently require AVX2. */ +-#if (defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)) \ ++#if (defined(__x86_64__) || defined(_M_X64)) \ + && (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER) + # define HDR_HAS_AVX2_DISPATCH 1 + # include diff --git a/pkgs/by-name/hd/hdrhistogram_c/package.nix b/pkgs/by-name/hd/hdrhistogram_c/package.nix index f05ebfe5f357..d8f02e4b540e 100644 --- a/pkgs/by-name/hd/hdrhistogram_c/package.nix +++ b/pkgs/by-name/hd/hdrhistogram_c/package.nix @@ -11,15 +11,21 @@ stdenv.mkDerivation (finalAttrs: { pname = "hdrhistogram_c"; - version = "0.11.9"; + version = "0.11.10"; src = fetchFromGitHub { owner = "HdrHistogram"; repo = "HdrHistogram_c"; tag = finalAttrs.version; - hash = "sha256-9Xp+gPqJpB7xZr5dzyc9Via9gxG9q/EriCx3cm++0kU="; + hash = "sha256-LMZj7vuxOA1bgU/J10IKnyNe3R0dk2AA1ydLTHun4vg="; }; + # Fix build on i686 by not trying to build AVX2 code + # Submitted upstream: https://github.com/HdrHistogram/HdrHistogram_c/pull/143 + ${if stdenv.hostPlatform.isi686 then "patches" else null} = [ + ./no-avx2-i386.patch + ]; + buildInputs = [ zlib ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/hw/hwdata/package.nix b/pkgs/by-name/hw/hwdata/package.nix index 0fc7c9022a62..e88507d495f7 100644 --- a/pkgs/by-name/hw/hwdata/package.nix +++ b/pkgs/by-name/hw/hwdata/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hwdata"; - version = "0.408"; + version = "0.409"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${finalAttrs.version}"; - hash = "sha256-fgKOvVGAdB3uBFuKfGPFfF9wQEdLtnlMdQrLNIr3teo="; + hash = "sha256-WJ7oe94rTb+gzuawafpx7YyNTUzZe7ZWE0ZWWQKoyCA="; }; doCheck = false; # this does build machine-specific checks (e.g. enumerates PCI bus) diff --git a/pkgs/by-name/ia/iamb/package.nix b/pkgs/by-name/ia/iamb/package.nix index 59f21eb62b36..8a15554b29cf 100644 --- a/pkgs/by-name/ia/iamb/package.nix +++ b/pkgs/by-name/ia/iamb/package.nix @@ -6,8 +6,6 @@ writableTmpDirAsHomeHook, versionCheckHook, nix-update-script, - llvmPackages, - stdenv, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -29,17 +27,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ installShellFiles - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # TODO: Remove once #536365 reaches this branch - llvmPackages.lld ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - postInstall = '' installManPage $src/docs/iamb.{1,5} install -D $src/docs/iamb.svg -t $out/share/icons/hicolor/scalable/apps diff --git a/pkgs/by-name/im/imhex/package.nix b/pkgs/by-name/im/imhex/package.nix index bc7fc486fa8c..b3ce78ad5a99 100644 --- a/pkgs/by-name/im/imhex/package.nix +++ b/pkgs/by-name/im/imhex/package.nix @@ -23,7 +23,6 @@ nix-update-script, autoPatchelfHook, makeWrapper, - llvmPackages, }: let @@ -62,9 +61,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config makeWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook - # TODO: Remove once #536365 reaches this branch - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; buildInputs = [ capstone @@ -106,13 +103,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_INSTALL_NAME_DIR" "@executable_path/../Frameworks") ]; - env = { - NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # Comment out fixup_bundle in PostprocessBundle.cmake as we are not building a standalone application postPatch = '' diff --git a/pkgs/by-name/is/isa-l/package.nix b/pkgs/by-name/is/isa-l/package.nix index 22bdfce4ef02..b089ee2ac1ba 100644 --- a/pkgs/by-name/is/isa-l/package.nix +++ b/pkgs/by-name/is/isa-l/package.nix @@ -4,9 +4,13 @@ fetchFromGitHub, # nativeBuildInputs + cmake, nasm, - autoreconfHook, + # buildInputs + zlib, + + # nativeInstallCheckInputs versionCheckHook, # passthru @@ -18,32 +22,45 @@ stdenv.mkDerivation (finalAttrs: { pname = "isa-l"; - version = "2.32.0"; + version = "2.32.1"; + + __structuredAttrs = true; + strictDeps = true; src = fetchFromGitHub { owner = "intel"; repo = "isa-l"; tag = "v${finalAttrs.version}"; - hash = "sha256-LvxAlyBUSYEVLrMGcLii7bGvN1GZY/noYRSrBqsGiMI="; + hash = "sha256-JizQXhfDCL8aWEv52TBuXw06HA/8t7Ram/q9vSp5/DI="; }; nativeBuildInputs = [ + cmake nasm - autoreconfHook ]; - # configure.ac has two code paths for assembler detection: - # 1. When AS is unset: searches for nasm and tests with correct nasm syntax - # 2. When AS is set: tests with yasm-style syntax that nasm rejects - # AM_PROG_AS sets AS=as, so we must unset it to use path 1. - preConfigure = '' - unset AS - ''; + buildInputs = [ + zlib + ]; + + env = { + NIX_CFLAGS_COMPILE = toString [ + "-DVERSION=\"${finalAttrs.version}\"" + ]; + }; + cmakeFlags = [ + (lib.cmakeBool "ISAL_BUILD_IGZIP_CLI" true) + + # https://github.com/NixOS/nixpkgs/issues/144170 + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") + ]; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; + doCheck = true; passthru = { tests = { @@ -96,12 +113,5 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/intel/isa-l/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ jbedo ]; platforms = lib.platforms.all; - badPlatforms = [ - # :4:26: error: unexpected token in argument list - # movk x7, p4_low_b1, lsl 16 - "aarch64-darwin" - # https://github.com/intel/isa-l/issues/188 - "i686-linux" - ]; }; }) diff --git a/pkgs/by-name/je/jemalloc/package.nix b/pkgs/by-name/je/jemalloc/package.nix index 880e776d2dc0..3529c01c83cf 100644 --- a/pkgs/by-name/je/jemalloc/package.nix +++ b/pkgs/by-name/je/jemalloc/package.nix @@ -51,6 +51,14 @@ stdenv.mkDerivation (finalAttrs: { # `rtree_read.constprop.0` shows up in some builds but # not others, so we fall back to O2: ./o3-to-o2.patch + + # Active profiling may make xallocx decline to grow non-page-aligned + # allocations, so test/integration/extent can observe decommit without + # the matching commit on platforms with real decommit/commit. + # + # A (longer) patch addressing the failure posted upstream at: + # https://github.com/jemalloc/jemalloc/pull/2954 + ./skip-extent-test-with-prof-active.patch ]; nativeBuildInputs = [ @@ -60,6 +68,8 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--with-version=${finalAttrs.version}-0-g0000000000000000000000000000000000000000" "--with-lg-vaddr=${with stdenv.hostPlatform; toString (if isILP32 then 32 else parsed.cpu.bits)}" + # Profiling is inert unless enabled at runtime + "--enable-prof" ] # see the comment on stripPrefix ++ lib.optional stripPrefix "--with-jemalloc-prefix=" diff --git a/pkgs/by-name/je/jemalloc/skip-extent-test-with-prof-active.patch b/pkgs/by-name/je/jemalloc/skip-extent-test-with-prof-active.patch new file mode 100644 index 000000000000..1440435c1458 --- /dev/null +++ b/pkgs/by-name/je/jemalloc/skip-extent-test-with-prof-active.patch @@ -0,0 +1,24 @@ +diff --git a/test/integration/extent.sh b/test/integration/extent.sh +index 39fb0a73..ee9f3ed4 100644 +--- a/test/integration/extent.sh ++++ b/test/integration/extent.sh +@@ -1,5 +1,19 @@ + #!/bin/sh + ++# With active profiling, xallocx may decline to grow non-page-aligned ++# allocations. On platforms with real decommit/commit, this can make this ++# test observe a successful decommit without the matching commit. ++case ",${MALLOC_CONF_ALL}," in ++ *,prof:true,*) ++ case ",${MALLOC_CONF_ALL}," in ++ *,prof_active:false,*) ++ ;; ++ *) ++ return 1 ++ ;; ++ esac ++esac ++ + if [ "x${enable_fill}" = "x1" ] ; then + export MALLOC_CONF="junk:false" + fi diff --git a/pkgs/by-name/ki/kitty/package.nix b/pkgs/by-name/ki/kitty/package.nix index 9795d74cdc06..b9483acf8a76 100644 --- a/pkgs/by-name/ki/kitty/package.nix +++ b/pkgs/by-name/ki/kitty/package.nix @@ -45,8 +45,6 @@ makeBinaryWrapper, darwin, cairo, - # TODO: Clean up on `staging`. - llvmPackages, }: with python3Packages; @@ -119,8 +117,6 @@ buildPythonApplication rec { imagemagick libicns # For the png2icns tool. darwin.autoSignDarwinBinariesHook - # TODO: Clean up on `staging`. - llvmPackages.lld ] ++ lib.optionals stdenv.hostPlatform.isLinux [ wayland-scanner @@ -157,10 +153,6 @@ buildPythonApplication rec { CGO_ENABLED = 0; GOFLAGS = "-trimpath"; GOTOOLCHAIN = "local"; - } - # TODO: Clean up on `staging`. - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; configurePhase = '' diff --git a/pkgs/by-name/kn/knot-resolver-manager_6/package.nix b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix index cb449cb1df97..f501b3ca061e 100644 --- a/pkgs/by-name/kn/knot-resolver-manager_6/package.nix +++ b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix @@ -9,7 +9,7 @@ let in assert lib.versionAtLeast kresd.version "6.0.0"; python3Packages.buildPythonPackage { - pname = "knot-resolver-manager_6"; + pname = "knot-resolver"; inherit (kresd) version src; pyproject = true; @@ -77,7 +77,7 @@ python3Packages.buildPythonPackage { doCheck = python3Packages.stdenv.hostPlatform.isLinux; # maybe in future nativeCheckInputs = with python3Packages; [ - augeas + python-augeas dnspython lief pytestCheckHook diff --git a/pkgs/by-name/ld/ld64/package.nix b/pkgs/by-name/ld/ld64/package.nix index 184f635cffe3..ad2613836ff5 100644 --- a/pkgs/by-name/ld/ld64/package.nix +++ b/pkgs/by-name/ld/ld64/package.nix @@ -138,6 +138,9 @@ stdenv.mkDerivation (finalAttrs: { xar ]; + # ld built with this fails to link glib's gio + hardeningDisable = [ "libcxxhardeningfast" ]; + dontUseCmakeConfigure = true; # CMake is only needed because it’s used by Meson to find LLVM. # Note for overrides: ld64 cannot be built as a debug build because of UB in its iteration implementations, diff --git a/pkgs/by-name/le/lerc/package.nix b/pkgs/by-name/le/lerc/package.nix index 9cf5725679dd..7765b5e8b9a6 100644 --- a/pkgs/by-name/le/lerc/package.nix +++ b/pkgs/by-name/le/lerc/package.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "lerc"; - version = "4.1.0"; + version = "4.1.1"; outputs = [ "out" @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "esri"; repo = "lerc"; tag = "v${finalAttrs.version}"; - hash = "sha256-+X30DQuq2oT/sTe8usUaNK1V+UTNvXJW7IAJVIr8m78="; + hash = "sha256-YTNIydQLCBzsuvPWA6qnOkOIPf9JlByJdNHkTevE7Z0="; }; # Required to get the freebsd-ports patch to apply. diff --git a/pkgs/by-name/li/libadwaita/package.nix b/pkgs/by-name/li/libadwaita/package.nix index 8f289c6e4977..fdad6431655b 100644 --- a/pkgs/by-name/li/libadwaita/package.nix +++ b/pkgs/by-name/li/libadwaita/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libadwaita"; - version = "1.9.1"; + version = "1.9.2"; outputs = [ "out" @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "GNOME"; repo = "libadwaita"; tag = finalAttrs.version; - hash = "sha256-Oy3WcsymNbbmAacm5hEOrorI1wKXjSp063mh4jCJRAE="; + hash = "sha256-XKKjnZz4CII6w9fKFptPK3aTNa5eMfyE7rcerbgaDco="; }; depsBuildBuild = [ diff --git a/pkgs/by-name/li/libajantv2/package.nix b/pkgs/by-name/li/libajantv2/package.nix index a09fdff502df..dffc8bf3a642 100644 --- a/pkgs/by-name/li/libajantv2/package.nix +++ b/pkgs/by-name/li/libajantv2/package.nix @@ -47,11 +47,11 @@ stdenv.mkDerivation (finalAttrs: { ]; postInstall = '' - mkdir -p "$out/lib/pkgconfig" - cat >"$out/lib/pkgconfig/libajantv2.pc" <"$dev/lib/pkgconfig/libajantv2.pc" < testsuite/libffi.call/i128-1.c"; + strictDeps = true; outputs = [ "out" diff --git a/pkgs/by-name/li/libjxl/package.nix b/pkgs/by-name/li/libjxl/package.nix index 93fceb3f3095..c9bd4d79d174 100644 --- a/pkgs/by-name/li/libjxl/package.nix +++ b/pkgs/by-name/li/libjxl/package.nix @@ -31,7 +31,7 @@ in stdenv.mkDerivation rec { pname = "libjxl"; - version = "0.11.2"; + version = "0.12.0"; outputs = [ "out" @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { owner = "libjxl"; repo = "libjxl"; tag = "v${version}"; - hash = "sha256-L4/BY68ZBCpebQxryR7D1CxrsneYvw8B8EvW2mkF7bA="; + hash = "sha256-rJyvJo1ZveE1pvMErK9ilFQA0NXkD2ka93L+1gXeqf8="; # There are various submodules in `third_party/`. fetchSubmodules = true; }; @@ -69,7 +69,6 @@ stdenv.mkDerivation rec { # that the cmake build can apparently use: # OpenGL/GLUT (for Examples -> comparison with sjpeg) # viewer (see `cmakeFlags`) - # plugins like for GDK and GIMP (see `cmakeFlags`) # Vendored libraries: # `libjxl` currently vendors many libraries as git submodules that they @@ -127,7 +126,6 @@ stdenv.mkDerivation rec { ++ lib.optionals enablePlugins [ # Enable plugins, such as: # * the `gdk-pixbuf` one, which allows applications like `eog` to load jpeg-xl files - # * the `gimp` one, which allows GIMP to load jpeg-xl files "-DJPEGXL_ENABLE_PLUGINS=ON" ] ++ lib.optionals stdenv.hostPlatform.isStatic [ diff --git a/pkgs/by-name/li/libmemcached/package.nix b/pkgs/by-name/li/libmemcached/package.nix index 0da1dfeb7ebf..df17fef7a93a 100644 --- a/pkgs/by-name/li/libmemcached/package.nix +++ b/pkgs/by-name/li/libmemcached/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jEw6L2/139oo4sGprl9Xp0DTarxAK1bEF2ak2kHWSAs="; }; - patches = lib.optionals stdenv.hostPlatform.isDarwin [ + patches = [ (fetchpatch { name = "libcxx-compat.patch"; url = "https://github.com/awesomized/libmemcached/commit/547460c12287a34a5993045157a0e13e14203f92.patch"; diff --git a/pkgs/by-name/li/libressl/default.nix b/pkgs/by-name/li/libressl/default.nix index 4bf139efc381..08f7090b6ca1 100644 --- a/pkgs/by-name/li/libressl/default.nix +++ b/pkgs/by-name/li/libressl/default.nix @@ -64,7 +64,7 @@ let export PREVIOUS_${ldLibPathEnvName}=$${ldLibPathEnvName} export ${ldLibPathEnvName}="$${ldLibPathEnvName}:$(realpath tls/):$(realpath ssl/):$(realpath crypto/)" '' - + lib.optionalString stdenv.hostPlatform.isElf '' + + lib.optionalString (stdenv.hostPlatform.isElf && buildShared) '' # Bail if any shared object has executable stack enabled. This can # happen when an object produced from an assmbly file in libcrypto is # missing a .note.GNU-stack section. An executable stack is dangerous @@ -151,23 +151,10 @@ in ]; }; - # 4.3 was released April 2026 and will become unsupported one year after the - # release of OpenBSD 7.9. + # 4.3 was released April 2026 and will become unsupported on May 19, 2027, + # one year after the release of OpenBSD 7.9. libressl_4_3 = generic { - version = "4.3.1"; - hash = "sha256-wttCrOFOfVQZgm+rNadC7G5NEnJaBRpR0M6jwQug+lA="; - patches = [ - # Fix for https://github.com/libressl/portable/issues/1278, where LibreSSL - # 4.3 started requiring executable stack because some objects were missing - # a .note.GNU-stack section; will probably be included in the next release. - (fetchpatch { - url = "https://raw.githubusercontent.com/libressl/portable/4dae91d056c6c75ba5cf2bc5e6148b8e02239119/patches/gnu-stack.patch"; - hash = "sha256-Q1oWL4N8w5Zmjfq5QkTJR53NgZ4GqChSDaBicli5G2I="; - # This patch is written to be applied with -p0, with no leading path - # component, but Nix applies with -p1 by default, so we add it to not - # break compatibility with how other patches must be applied. - decode = "sed 's|^--- |--- a/|; s|^+++ |+++ b/|'"; - }) - ]; + version = "4.3.2"; + hash = "sha256-7fAa7iTGXWnmqe/LnUS82mgv+dTzu72V55Th36kIR7U="; }; } diff --git a/pkgs/by-name/li/libressl/package.nix b/pkgs/by-name/li/libressl/package.nix index f9b05eb9555b..29dbda06f77d 100644 --- a/pkgs/by-name/li/libressl/package.nix +++ b/pkgs/by-name/li/libressl/package.nix @@ -1,5 +1,5 @@ { - libressl_4_2, + libressl_4_3, }: -libressl_4_2 +libressl_4_3 diff --git a/pkgs/by-name/li/libseccomp/package.nix b/pkgs/by-name/li/libseccomp/package.nix index 222bda60e16a..64677eb94051 100644 --- a/pkgs/by-name/li/libseccomp/package.nix +++ b/pkgs/by-name/li/libseccomp/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchurl, - fetchpatch, getopt, util-linuxMinimal, which, @@ -13,31 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libseccomp"; - version = "2.6.0"; + version = "2.6.1"; src = fetchurl { url = "https://github.com/seccomp/libseccomp/releases/download/v${finalAttrs.version}/libseccomp-${finalAttrs.version}.tar.gz"; - hash = "sha256-g7YIUjLRWIw3ncm5yuR7s3QHzyYubnSZPGG6ctKnhNw="; + hash = "sha256-UB9mxmciXVN5G5fh18+Fq3ZMKX0EiB9g849FHEsO4b4="; }; - patches = [ - # Remove when version > 2.6.0 - # Fixes test failures on big-endian archs - (fetchpatch { - name = "0001-libseccomp-remove-fuzzer-from-test-62-sim-arch_transactions.patch"; - url = "https://github.com/seccomp/libseccomp/commit/2f0f3b0e9121720108431c5d054164016f476230.patch"; - hash = "sha256-AKAQyALJlLgxnS23OEoqfyDswp0kU2vmja5ohgvFojw="; - }) - - # Remove when version > 2.6.0 - # Fixes OOB reads & tests on musl - (fetchpatch { - name = "0002-libseccomp-fix-seccomp_export_bpf_mem-out-of-bounds-read.patch"; - url = "https://github.com/seccomp/libseccomp/commit/dd759e8c4f5685b526638fba9ec4fc24c37c9aec.patch"; - hash = "sha256-TdfQ5T8FrGE6+P24MIi9rKSC3fQu/Jlr4bsFiJd4yVY="; - }) - ]; - outputs = [ "out" "lib" diff --git a/pkgs/by-name/li/libsepol/package.nix b/pkgs/by-name/li/libsepol/package.nix index 9e06808644cf..cefaad72d6ca 100644 --- a/pkgs/by-name/li/libsepol/package.nix +++ b/pkgs/by-name/li/libsepol/package.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libsepol"; - version = "3.10"; + version = "3.11"; se_url = "https://github.com/SELinuxProject/selinux/releases/download"; outputs = [ @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "${finalAttrs.se_url}/${finalAttrs.version}/libsepol-${finalAttrs.version}.tar.gz"; - hash = "sha256-1VVYZ5f6nzg0RJbSp+wRR7bKrz/MRMQtjVFz7denmnE="; + hash = "sha256-efPSyI9Et+tc9U2XkuAyMil+F/l6F5Fj8nUAmaAPFk0="; }; nativeBuildInputs = [ flex ]; diff --git a/pkgs/by-name/li/libssh/package.nix b/pkgs/by-name/li/libssh/package.nix index 93876d1b72d8..2c786b504b1a 100644 --- a/pkgs/by-name/li/libssh/package.nix +++ b/pkgs/by-name/li/libssh/package.nix @@ -8,6 +8,9 @@ openssl, libsodium, + withGssapi ? false, + krb5, + # for passthru.tests ffmpeg, sshping, @@ -28,20 +31,29 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; + strictDeps = true; + + __structuredAttrs = true; + postPatch = '' # Fix headers to use libsodium instead of NaCl sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c ''; - # Don’t build examples, which are not installed and require additional dependencies not - # included in `buildInputs` such as libx11. - cmakeFlags = [ "-DWITH_EXAMPLES=OFF" ]; + cmakeFlags = [ + # Don’t build examples, which are not installed and require additional dependencies not + # included in `buildInputs` such as libx11. + "-DWITH_EXAMPLES=OFF" + + (lib.cmakeBool "USE_GSSAPI" withGssapi) + ]; buildInputs = [ zlib openssl libsodium - ]; + ] + ++ lib.optional withGssapi krb5; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/li/libsshWithGssapi/package.nix b/pkgs/by-name/li/libsshWithGssapi/package.nix new file mode 100644 index 000000000000..73876b693484 --- /dev/null +++ b/pkgs/by-name/li/libsshWithGssapi/package.nix @@ -0,0 +1,3 @@ +{ libssh }: + +libssh.override { withGssapi = true; } diff --git a/pkgs/by-name/li/libxfont_2/package.nix b/pkgs/by-name/li/libxfont_2/package.nix index 9f1dbea7359e..0156515019d1 100644 --- a/pkgs/by-name/li/libxfont_2/package.nix +++ b/pkgs/by-name/li/libxfont_2/package.nix @@ -15,7 +15,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "libxfont_2"; - version = "2.0.7"; + version = "2.0.8"; outputs = [ "out" @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://xorg/individual/lib/libXfont2-${finalAttrs.version}.tar.xz"; - hash = "sha256-i3uC/eukh2m2lDPo4/u5hKX2vzaLDV9Hq+7EnePljvs="; + hash = "sha256-9VbA4Qk6TmkRzJC8SxBtIBkC7hh/10ryBv8WL35qJNU="; }; strictDeps = true; diff --git a/pkgs/by-name/li/lima/package.nix b/pkgs/by-name/li/lima/package.nix index 8d4d63925e30..c998ae4731b6 100644 --- a/pkgs/by-name/li/lima/package.nix +++ b/pkgs/by-name/li/lima/package.nix @@ -11,7 +11,6 @@ apple-sdk_15, withAdditionalGuestAgents ? false, lima-additional-guestagents, - llvmPackages, writableTmpDirAsHomeHook, versionCheckHook, testers, @@ -36,16 +35,7 @@ buildGoModule (finalAttrs: { # For checkPhase, and installPhase(required to build completion) writableTmpDirAsHomeHook ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.sigtool - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - llvmPackages.lld - ]; - - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=${lib.getExe' llvmPackages.lld "ld64.lld"}"; - }; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ]; diff --git a/pkgs/by-name/li/livekit-libwebrtc/package.nix b/pkgs/by-name/li/livekit-libwebrtc/package.nix index b4cebbf58efd..f7e1fd2e88b3 100644 --- a/pkgs/by-name/li/livekit-libwebrtc/package.nix +++ b/pkgs/by-name/li/livekit-libwebrtc/package.nix @@ -7,8 +7,6 @@ fetchurl, fetchpatch, xcbuild, - lld, - llvm, python3, ninja, git, @@ -184,13 +182,7 @@ stdenv.mkDerivation { ln -sf ${lib.getExe gn} buildtools/mac/gn chmod +x build/toolchain/apple/linker_driver.py patchShebangs build/toolchain/apple/linker_driver.py - - # When 'use_lld=true' is set, llvm-ar is used instead of ar. - # The build config expects llvm-ar to be inside the provided clang base path, - # but this is not the case in nixpkgs. - substituteInPlace build/toolchain/apple/toolchain.gni \ - --replace-fail "/bin/cp -Rc" "cp -a" \ - --replace-fail '${"$"}{prefix}llvm-ar' '${lib.getExe' llvm "llvm-ar"}' + substituteInPlace build/toolchain/apple/toolchain.gni --replace-fail "/bin/cp -Rc" "cp -a" # nixpkgs calls the target "darwin" instead of "macos", and passing a different target # results in warnings by the nixpkgs compiler wrapper @@ -218,10 +210,7 @@ stdenv.mkDerivation { cpio pkg-config ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xcbuild - lld - ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; buildInputs = [ nasm @@ -290,8 +279,7 @@ stdenv.mkDerivation { "rtc_enable_objc_symbol_export=true" "rtc_include_dav1d_in_internal_decoder_factory=true" "clang_use_chrome_plugins=false" - # ld64 traps on linking because of C++ hardening - "use_lld=true" + "use_lld=false" ''clang_base_path="${clang}"'' ]); @@ -309,12 +297,6 @@ stdenv.mkDerivation { "desktop_capture_objc" ]; - env = { - # ensure install_name_tool has enough space in binary headers - # to replace rpaths with very long nix store paths - NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; - }; - postBuild = lib.optionalString stdenv.hostPlatform.isLinux '' objcopy --redefine-syms="${boringSslSymbols}" "libwebrtc.so" diff --git a/pkgs/by-name/ma/mactop/package.nix b/pkgs/by-name/ma/mactop/package.nix index 7b0a15ee20c7..e54d58aec534 100644 --- a/pkgs/by-name/ma/mactop/package.nix +++ b/pkgs/by-name/ma/mactop/package.nix @@ -2,7 +2,6 @@ lib, buildGoModule, fetchFromGitHub, - llvmPackages, versionCheckHook, nix-update-script, }: @@ -22,14 +21,6 @@ buildGoModule rec { proxyVendor = true; - nativeBuildInputs = [ llvmPackages.lld ]; - - env = { - # Work around ld64's libc++ hardening issue. - # TODO: Remove once #536365 reaches this branch. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh b/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh index 74e72dc859e5..232bc2b5c3cd 100644 --- a/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh +++ b/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh @@ -6,6 +6,8 @@ set -euo pipefail # assertExecutable FILE assertExecutable() { local file="$1" + [[ -e "$file" ]] || \ + die "Cannot wrap '$file' because it does not exist" [[ -f "$file" && -x "$file" ]] || \ die "Cannot wrap '$file' because it is not an executable file" } diff --git a/pkgs/by-name/mb/mbedtls/4.nix b/pkgs/by-name/mb/mbedtls/4.nix index f49a6d54d403..bc20e80be986 100644 --- a/pkgs/by-name/mb/mbedtls/4.nix +++ b/pkgs/by-name/mb/mbedtls/4.nix @@ -1,4 +1,8 @@ -{ callPackage, fetchurl }: +{ + lib, + stdenv, + callPackage, +}: callPackage ./generic.nix { version = "4.1.0"; @@ -11,5 +15,11 @@ callPackage ./generic.nix { # * # * ./0001-fix-gcc14-build.patch + ] + ++ lib.optionals stdenv.hostPlatform.is32bit [ + # Fixes build with GCC 15.3 on 32-bit platforms. + # See: https://github.com/Mbed-TLS/mbedtls/pull/10793 + # Manually forward-ported to v4 + ./fix-gcc153-32bit-v4.patch ]; } diff --git a/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit-v4.patch b/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit-v4.patch new file mode 100644 index 000000000000..f304018c0b3b --- /dev/null +++ b/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit-v4.patch @@ -0,0 +1,12 @@ +--- a/tf-psa-crypto/core/tf_psa_crypto_common.h ++++ b/tf-psa-crypto/core/tf_psa_crypto_common.h +@@ -332,7 +332,8 @@ static inline void mbedtls_xor_no_simd(unsigned char *r, + uint32_t x = mbedtls_get_unaligned_uint32(a + i) ^ mbedtls_get_unaligned_uint32(b + i); + mbedtls_put_unaligned_uint32(r + i, x); + } +-#if defined(__IAR_SYSTEMS_ICC__) ++#if defined(__IAR_SYSTEMS_ICC__) || \ ++ (defined(MBEDTLS_COMPILER_IS_GCC) && MBEDTLS_GCC_VERSION >= 150300) + if (n % 4 == 0) { + return; + } diff --git a/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit.patch b/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit.patch new file mode 100644 index 000000000000..c4015ecb4806 --- /dev/null +++ b/pkgs/by-name/mb/mbedtls/fix-gcc153-32bit.patch @@ -0,0 +1,14 @@ +diff --git a/library/common.h b/library/common.h +index 1f59b32426..8c756bcb07 100644 +--- a/library/common.h ++++ b/library/common.h +@@ -332,7 +332,8 @@ static inline void mbedtls_xor_no_simd(unsigned char *r, + uint32_t x = mbedtls_get_unaligned_uint32(a + i) ^ mbedtls_get_unaligned_uint32(b + i); + mbedtls_put_unaligned_uint32(r + i, x); + } +-#if defined(__IAR_SYSTEMS_ICC__) ++#if defined(__IAR_SYSTEMS_ICC__) || \ ++ (defined(MBEDTLS_COMPILER_IS_GCC) && MBEDTLS_GCC_VERSION >= 150300) + if (n % 4 == 0) { + return; + } diff --git a/pkgs/by-name/mb/mbedtls/package.nix b/pkgs/by-name/mb/mbedtls/package.nix index 44fde80fa51d..3bf8e310d0ba 100644 --- a/pkgs/by-name/mb/mbedtls/package.nix +++ b/pkgs/by-name/mb/mbedtls/package.nix @@ -1,4 +1,9 @@ -{ callPackage, fetchurl }: +{ + lib, + stdenv, + callPackage, + fetchurl, +}: callPackage ./generic.nix { version = "3.6.6"; @@ -14,5 +19,10 @@ callPackage ./generic.nix { url = "https://raw.githubusercontent.com/openwrt/openwrt/52b6c9247997e51a97f13bb9e94749bc34e2d52e/package/libs/mbedtls/patches/100-fix-gcc14-build.patch"; hash = "sha256-20bxGoUHkrOEungN3SamYKNgj95pM8IjbisNRh68Wlw="; }) + ] + ++ lib.optionals stdenv.hostPlatform.is32bit [ + # Fixes build with GCC 15.3 on 32-bit platforms. + # See: https://github.com/Mbed-TLS/mbedtls/pull/10793 + ./fix-gcc153-32bit.patch ]; } diff --git a/pkgs/by-name/mc/mctc-lib/package.nix b/pkgs/by-name/mc/mctc-lib/package.nix index a2de791d14f0..0363ab2988cf 100644 --- a/pkgs/by-name/mc/mctc-lib/package.nix +++ b/pkgs/by-name/mc/mctc-lib/package.nix @@ -10,7 +10,7 @@ pkg-config, python3, jonquil, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, }: assert ( @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { gfortran pkg-config python3 - openmpCheckPhaseHook + checkPhaseThreadLimitHook ] ++ lib.optionals (buildType == "meson") [ meson diff --git a/pkgs/by-name/md/mdbook/package.nix b/pkgs/by-name/md/mdbook/package.nix index cceebdbc719a..3f55eea140de 100644 --- a/pkgs/by-name/md/mdbook/package.nix +++ b/pkgs/by-name/md/mdbook/package.nix @@ -8,7 +8,7 @@ installShellFiles, }: let - version = "0.5.3"; + version = "0.5.4"; in rustPlatform.buildRustPackage rec { inherit version; @@ -18,10 +18,10 @@ rustPlatform.buildRustPackage rec { owner = "rust-lang"; repo = "mdBook"; tag = "v${version}"; - hash = "sha256-RMJQn58hshBGQSpu30NdUOb3Prywn6NfhauSzFZ35xQ="; + hash = "sha256-1bUMFxPpb9H/pRdCOX0u8Tn8RPmJElDs7o9t5JtRFuU="; }; - cargoHash = "sha256-LlImOjTQjMQURQ81Gn73v+DEHXqyyiz39K9T+MrE7S0="; + cargoHash = "sha256-OmlcPZuQ1RbyFrF5tuztucgtCA544UHJxEaXh/mfSHQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/me/merve/package.nix b/pkgs/by-name/me/merve/package.nix index e8a210d551e6..066ac8fd351d 100644 --- a/pkgs/by-name/me/merve/package.nix +++ b/pkgs/by-name/me/merve/package.nix @@ -26,16 +26,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!static)) (lib.cmakeBool "MERVE_TESTING" finalAttrs.finalPackage.doCheck) - (lib.cmakeBool "MERVE_USE_SIMDUTF" true) - ]; + ] + ++ lib.optional (simdutf != null) (lib.cmakeBool "MERVE_USE_SIMDUTF" true); nativeBuildInputs = [ cmake validatePkgConfig ]; - buildInputs = [ - simdutf - ]; + buildInputs = lib.optional (simdutf != null) simdutf; checkInputs = [ gtest ]; diff --git a/pkgs/by-name/mk/mkl/package.nix b/pkgs/by-name/mk/mkl/package.nix index c2df26331271..0b8dd5091d61 100644 --- a/pkgs/by-name/mk/mkl/package.nix +++ b/pkgs/by-name/mk/mkl/package.nix @@ -8,6 +8,11 @@ _7zz, cctools, validatePkgConfig, + # sets MKL_NUM_THREADS for packages + # invoking mkl during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2023-0/mkl-domain-num-threads.html + checkPhaseThreadLimitHook, enableStatic ? stdenv.hostPlatform.isStatic, }: @@ -86,6 +91,10 @@ stdenvNoCC.mkDerivation ( [ rpmextract ] ); + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + buildPhase = if stdenvNoCC.hostPlatform.isDarwin then '' diff --git a/pkgs/by-name/mo/moltenvk/package.nix b/pkgs/by-name/mo/moltenvk/package.nix index 7c028f16e0f5..d39bb52b35e9 100644 --- a/pkgs/by-name/mo/moltenvk/package.nix +++ b/pkgs/by-name/mo/moltenvk/package.nix @@ -17,8 +17,6 @@ # but that’s not really a concern for nixpkgs, so use them by default. # See: https://github.com/KhronosGroup/MoltenVK/blob/main/README.md#metal_private_api enablePrivateAPIUsage ? true, - # TODO: Clean up on `staging` - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -37,11 +35,7 @@ stdenv.mkDerivation (finalAttrs: { vulkan-headers ]; - nativeBuildInputs = [ - xcbuildHook - # TODO: Clean up on `staging` - llvmPackages.lld - ]; + nativeBuildInputs = [ xcbuildHook ]; outputs = [ "out" @@ -120,11 +114,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional enablePrivateAPIUsage "-DMVK_USE_METAL_PRIVATE_API=1" ); - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - env.NIX_LDFLAGS = toString [ "-lglslang" "-lSPIRV" diff --git a/pkgs/by-name/mp/mpg123/package.nix b/pkgs/by-name/mp/mpg123/package.nix index b216a5368895..ba833af09dc8 100644 --- a/pkgs/by-name/mp/mpg123/package.nix +++ b/pkgs/by-name/mp/mpg123/package.nix @@ -21,11 +21,11 @@ assert withConplay -> !libOnly; stdenv.mkDerivation (finalAttrs: { pname = "${lib.optionalString libOnly "lib"}mpg123"; - version = "1.33.5"; + version = "1.33.6"; src = fetchurl { url = "mirror://sourceforge/mpg123/mpg123-${finalAttrs.version}.tar.bz2"; - hash = "sha256-DX68jaCv88o4PIxrWmrb5ALuW7JWaFuMVJnzpzn51t0="; + hash = "sha256-kpp8GLpmK4knrtTeIprZroqytIBt0PMLkBE+sbTiGVo="; }; outputs = [ diff --git a/pkgs/by-name/mp/mpiCheckPhaseHook/package.nix b/pkgs/by-name/mp/mpiCheckPhaseHook/package.nix index db5832c28a6e..8fc6081e2e14 100644 --- a/pkgs/by-name/mp/mpiCheckPhaseHook/package.nix +++ b/pkgs/by-name/mp/mpiCheckPhaseHook/package.nix @@ -2,7 +2,7 @@ lib, makeSetupHook, stdenv, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, }: makeSetupHook { @@ -14,7 +14,7 @@ makeSetupHook { }; propagatedNativeBuildInputs = [ - openmpCheckPhaseHook + checkPhaseThreadLimitHook ]; meta.license = lib.licenses.mit; diff --git a/pkgs/by-name/mp/mpv-unwrapped/package.nix b/pkgs/by-name/mp/mpv-unwrapped/package.nix index 924f515fff27..4333d1ce35f5 100644 --- a/pkgs/by-name/mp/mpv-unwrapped/package.nix +++ b/pkgs/by-name/mp/mpv-unwrapped/package.nix @@ -61,7 +61,6 @@ wayland-protocols, wayland-scanner, zimg, - llvmPackages, # Boolean alsaSupport ? stdenv.hostPlatform.isLinux, @@ -164,8 +163,6 @@ stdenv.mkDerivation (finalAttrs: { buildPackages.darwin.sigtool swift makeBinaryWrapper - # TODO: Remove once #536365 reaches this branch - llvmPackages.lld ] ++ lib.optionals waylandSupport [ wayland-scanner ]; @@ -236,9 +233,6 @@ stdenv.mkDerivation (finalAttrs: { # ./osdep/mac/swift.h:270:9: fatal error: '.../app_bridge_objc-1.pch' file not found env = lib.optionalAttrs (stdenv.hostPlatform.isDarwin) { NIX_SWIFTFLAGS_COMPILE = "-disable-bridging-pch"; - - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; postBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/by-name/na/nanopb/python-module.nix b/pkgs/by-name/na/nanopb/python-module.nix index 2240aaca624d..7848b069851c 100644 --- a/pkgs/by-name/na/nanopb/python-module.nix +++ b/pkgs/by-name/na/nanopb/python-module.nix @@ -4,7 +4,7 @@ generator-out, }: python3.pkgs.buildPythonPackage { - pname = "nanopb-python-module"; + pname = "nanopb"; inherit version; src = generator-out; pyproject = true; diff --git a/pkgs/by-name/na/nasm/package.nix b/pkgs/by-name/na/nasm/package.nix index 5b611b57591c..9babb2241495 100644 --- a/pkgs/by-name/na/nasm/package.nix +++ b/pkgs/by-name/na/nasm/package.nix @@ -9,23 +9,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "nasm"; - version = "3.01"; + version = "3.02"; src = fetchurl { url = "https://www.nasm.us/pub/nasm/releasebuilds/${finalAttrs.version}/nasm-${finalAttrs.version}.tar.xz"; - hash = "sha256-tzJMvobnZ7ZfJvRn7YsSrYDhJOPMuJB2hVyY5Dqe3dQ="; + hash = "sha256-hzNuulO0rP6RdCSrXVANKwBU2fUUjTXCJzzPLPtxLw0="; }; patches = [ - # Backport patches fixing nasm with gcc 15 and musl (and other?) platforms - # https://github.com/netwide-assembler/nasm/issues/169 + # Backport the fix for https://github.com/netwide-assembler/nasm/issues/203 + # buffer overflow. (fetchpatch { - url = "https://github.com/netwide-assembler/nasm/commit/44e89ba9b650b5e1533bca43682e167f51a3511f.patch"; - hash = "sha256-zVeMFhoSY/HGYr4meIWBgt5Unq1fA8lM6h1Cl5fpbxo="; - }) - (fetchpatch { - url = "https://github.com/netwide-assembler/nasm/commit/746e7c9efa37cec9a44d84a1e96b8c38f385cc1f.patch"; - hash = "sha256-aXVS70O/wUkW8xtkwF7uwrQfTgGcNvxHrtGC0sjIPto="; + name = "output-oob-fix.patch"; + url = "https://github.com/netwide-assembler/nasm/commit/8890d723d0aa9ed1a790e2ce1c55eee8dfa0cf94.patch"; + hash = "sha256-m03+bhKTgKlqeRLGZIy6GO5BTPIJ3r398VQrtN4waaw="; }) ]; diff --git a/pkgs/by-name/ne/neo-cowsay/package.nix b/pkgs/by-name/ne/neo-cowsay/package.nix index efcb0d4c60b8..209951938481 100644 --- a/pkgs/by-name/ne/neo-cowsay/package.nix +++ b/pkgs/by-name/ne/neo-cowsay/package.nix @@ -15,6 +15,7 @@ buildGoModule (finalAttrs: { hash = "sha256-DmIjqBTIzwkQ8aJ6xCgIwjDtczlTH5AKbPKFUGx3qQ8="; }; + __structuredAttrs = true; vendorHash = "sha256-gBURmodXkod4fukw6LWEY+MBxPcf4vn/f6K78UR77n0="; modRoot = "./cmd"; diff --git a/pkgs/by-name/ne/netbox_4_4/package.nix b/pkgs/by-name/ne/netbox_4_4/package.nix index d96ed7cb01d3..8ee3b56beb30 100644 --- a/pkgs/by-name/ne/netbox_4_4/package.nix +++ b/pkgs/by-name/ne/netbox_4_4/package.nix @@ -66,7 +66,7 @@ py.pkgs.buildPythonApplication rec { social-auth-app-django sorl-thumbnail strawberry-graphql - strawberry-django + strawberry-graphql-django svgwrite tablib diff --git a/pkgs/by-name/ne/netbox_4_5/package.nix b/pkgs/by-name/ne/netbox_4_5/package.nix index 879603c19e6a..a5d7a52cf350 100644 --- a/pkgs/by-name/ne/netbox_4_5/package.nix +++ b/pkgs/by-name/ne/netbox_4_5/package.nix @@ -73,7 +73,7 @@ py.pkgs.buildPythonApplication rec { social-auth-app-django sorl-thumbnail strawberry-graphql - strawberry-django + strawberry-graphql-django svgwrite tablib diff --git a/pkgs/by-name/ne/netcdf/package.nix b/pkgs/by-name/ne/netcdf/package.nix index 5722ab150e9c..34e5b3f47459 100644 --- a/pkgs/by-name/ne/netcdf/package.nix +++ b/pkgs/by-name/ne/netcdf/package.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "netcdf" + lib.optionalString mpiSupport "-mpi"; - version = "4.9.3"; + version = "4.10.1"; src = fetchurl { url = "https://downloads.unidata.ucar.edu/netcdf-c/${finalAttrs.version}/netcdf-c-${finalAttrs.version}.tar.gz"; - hash = "sha256-pHQUmETmFEVmZz+s8Jf+olPchDw3vAp9PeBH3Irdpd0="; + hash = "sha256-2ztp/0pe4afXmlw2Zk0hKLdSwmbpZjafz3MR7F+SdWQ="; }; postPatch = '' diff --git a/pkgs/by-name/ne/netpbm/package.nix b/pkgs/by-name/ne/netpbm/package.nix index 0b6ea0555c86..4d338fb84d4c 100644 --- a/pkgs/by-name/ne/netpbm/package.nix +++ b/pkgs/by-name/ne/netpbm/package.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { # Determine version and revision from: # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced pname = "netpbm"; - version = "11.14.0"; + version = "11.15.1"; outputs = [ "bin" @@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "5182"; - sha256 = "sha256-VbVN08WVXQYXlEBK1yIKj5aIWWaBhim4rQc68ViA/vA="; + rev = "5227"; + sha256 = "sha256-Lr02cu7OAPv+wjKjPkA0wyZ0VvurUuCf5IJXjmCAE0I="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/no/noti/package.nix b/pkgs/by-name/no/noti/package.nix index a51018ab362d..264e5e34fbfe 100644 --- a/pkgs/by-name/no/noti/package.nix +++ b/pkgs/by-name/no/noti/package.nix @@ -1,9 +1,7 @@ { lib, - stdenv, buildGoModule, fetchFromCodeberg, - llvmPackages, installShellFiles, }: @@ -20,19 +18,10 @@ buildGoModule (finalAttrs: { vendorHash = null; - nativeBuildInputs = [ - installShellFiles - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ installShellFiles ]; subPackages = [ "cmd/noti" ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Work around ld64's libc++ hardening issue. - # TODO: Remove once #536365 reaches this branch. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh b/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh deleted file mode 100644 index b3279b170360..000000000000 --- a/pkgs/by-name/op/openmpCheckPhaseHook/omp-check-hook.sh +++ /dev/null @@ -1,11 +0,0 @@ -preCheckHooks+=('setupOmpCheck') -preInstallCheckHooks+=('setupOmpCheck') - - -setupOmpCheck() { - # Limit number of OpenMP threads. Default is "all cores". - # Using all cores causes high load on builders if checks are executed with NIX_BUILD_CORE parallelism. - # This gets even worse if multiple builds are scheduled on the same machine, potentially growing O(n^3) without explicit core limits. - export OMP_NUM_THREADS="${OMP_NUM_THREADS:-1}" -} - diff --git a/pkgs/by-name/op/openmpCheckPhaseHook/package.nix b/pkgs/by-name/op/openmpCheckPhaseHook/package.nix deleted file mode 100644 index 9e30609e8de5..000000000000 --- a/pkgs/by-name/op/openmpCheckPhaseHook/package.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - lib, - makeSetupHook, -}: - -makeSetupHook { - name = "omp-checkPhase-hook"; - - __structuredAttrs = true; - - meta.license = lib.licenses.mit; -} ./omp-check-hook.sh diff --git a/pkgs/by-name/op/openresolv/package.nix b/pkgs/by-name/op/openresolv/package.nix index 579106c2fd40..b487493675ce 100644 --- a/pkgs/by-name/op/openresolv/package.nix +++ b/pkgs/by-name/op/openresolv/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "openresolv"; - version = "3.17.0"; + version = "3.17.4"; src = fetchFromGitHub { owner = "NetworkConfiguration"; repo = "openresolv"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-blWfUXTBPkAYj5o2/lqAfMV4mOHUW1wpPGiUx93Bfyo="; + sha256 = "sha256-I86BHiSI3G4xlYRJC99elHw8RyUd3eHdkV5kiEGRXNE="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 93fb9c165ce2..c926b86282bf 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -109,6 +109,7 @@ pythonPackages.buildPythonApplication (finalAttrs: { ]; pythonRelaxDeps = [ + "bleach" "celery" "django-allauth" "django-auditlog" @@ -119,6 +120,7 @@ pythonPackages.buildPythonApplication (finalAttrs: { "redis" "scikit-learn" "tika-client" + "tqdm" # requested by maintainer "imap-tools" "ocrmypdf" diff --git a/pkgs/by-name/pc/pcre2/package.nix b/pkgs/by-name/pc/pcre2/package.nix index 72bdfea351c2..d846f87c0e42 100644 --- a/pkgs/by-name/pc/pcre2/package.nix +++ b/pkgs/by-name/pc/pcre2/package.nix @@ -8,15 +8,19 @@ withJitSealloc ? !(stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isAbiElfv1), }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "pcre2"; - version = "10.46"; + version = "10.47"; src = fetchurl { - url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2"; - hash = "sha256-FfvFq6a+7gsXrssEYCrjlDI5OroevY45t8q/fbiDKZ8="; + url = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${finalAttrs.version}/pcre2-${finalAttrs.version}.tar.bz2"; + hash = "sha256-R/6MmUYSUNQviebo/a66naBXhV0G63/AjZygP9CNe8c="; }; + __structuredAttrs = true; + strictDeps = true; + enableParallelBuilding = true; + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; configureFlags = [ @@ -43,6 +47,7 @@ stdenv.mkDerivation rec { meta = { homepage = "https://www.pcre.org/"; + changelog = "https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-${finalAttrs.version}"; description = "Perl Compatible Regular Expressions"; license = lib.licenses.bsd3; maintainers = [ ]; @@ -53,6 +58,6 @@ stdenv.mkDerivation rec { "libpcre2-16" "libpcre2-32" ]; - identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "pcre" version; + identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "pcre" finalAttrs.version; }; -} +}) diff --git a/pkgs/by-name/pi/picocrypt-ng/package.nix b/pkgs/by-name/pi/picocrypt-ng/package.nix index f3535dfa8f22..026dbbad8989 100644 --- a/pkgs/by-name/pi/picocrypt-ng/package.nix +++ b/pkgs/by-name/pi/picocrypt-ng/package.nix @@ -12,7 +12,6 @@ pkg-config, wrapGAppsHook3, writableTmpDirAsHomeHook, - llvmPackages, }: buildGoModule (finalAttrs: { @@ -50,9 +49,7 @@ buildGoModule (finalAttrs: { pkg-config wrapGAppsHook3 writableTmpDirAsHomeHook - ] - # TODO: Remove once #536365 reaches this branch - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ]; # git ls-files doesn't work as source is not a git repo checkFlags = @@ -64,13 +61,7 @@ buildGoModule (finalAttrs: { in [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; - env = { - CGO_ENABLED = 1; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env.CGO_ENABLED = 1; postInstall = '' mv $out/bin/picocrypt $out/bin/picocrypt-ng-gui diff --git a/pkgs/by-name/pi/picocrypt/package.nix b/pkgs/by-name/pi/picocrypt/package.nix index 4728d400dc5c..cfa8906fdd91 100644 --- a/pkgs/by-name/pi/picocrypt/package.nix +++ b/pkgs/by-name/pi/picocrypt/package.nix @@ -11,7 +11,6 @@ gtk3, pkg-config, wrapGAppsHook3, - llvmPackages, }: buildGoModule (finalAttrs: { @@ -47,17 +46,9 @@ buildGoModule (finalAttrs: { copyDesktopItems pkg-config wrapGAppsHook3 - ] - # TODO: Remove once #536365 reaches this branch - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ]; - env = { - CGO_ENABLED = 1; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env.CGO_ENABLED = 1; postInstall = '' mv $out/bin/Picocrypt $out/bin/picocrypt-gui diff --git a/pkgs/by-name/pi/pipewire/package.nix b/pkgs/by-name/pi/pipewire/package.nix index c2ec4a841043..f2dadfc6aa94 100644 --- a/pkgs/by-name/pi/pipewire/package.nix +++ b/pkgs/by-name/pi/pipewire/package.nix @@ -88,7 +88,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "pipewire"; - version = "1.6.7"; + version = "1.6.8"; outputs = [ "out" @@ -104,7 +104,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "pipewire"; repo = "pipewire"; tag = finalAttrs.version; - hash = "sha256-DSW9ho+NLikW/stlxvHLhRguMZy/4b7VEcC938ObJmQ="; + hash = "sha256-sxS6+LtvpEWCKoKLDUSYkW4+rrcIXPjWPBglReIDh/k="; }; patches = [ diff --git a/pkgs/by-name/pi/pixman/package.nix b/pkgs/by-name/pi/pixman/package.nix index 23755586fe6c..f9e469ede120 100644 --- a/pkgs/by-name/pi/pixman/package.nix +++ b/pkgs/by-name/pi/pixman/package.nix @@ -6,7 +6,7 @@ ninja, pkg-config, libpng, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, glib, # just passthru # for passthru.tests @@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { meson ninja pkg-config - openmpCheckPhaseHook + checkPhaseThreadLimitHook __flattenIncludeHackHook ]; diff --git a/pkgs/by-name/ps/psqlodbc/package.nix b/pkgs/by-name/ps/psqlodbc/package.nix index e62928863aac..b38c756eee66 100644 --- a/pkgs/by-name/ps/psqlodbc/package.nix +++ b/pkgs/by-name/ps/psqlodbc/package.nix @@ -18,13 +18,13 @@ assert lib.xor withLibiodbc withUnixODBC; stdenv.mkDerivation (finalAttrs: { pname = "psqlodbc"; - version = "18.00.0001"; + version = "18.00.0002"; src = fetchFromGitHub { owner = "postgresql-interfaces"; repo = "psqlodbc"; tag = "REL-${lib.replaceString "." "_" finalAttrs.version}"; - hash = "sha256-gCacZjP0FkCEuZRBfawZ2B3BcjR/sV1fypuT8XD2l+A="; + hash = "sha256-qzbyo9P/o784Ux3KDA8NDMbcm0EbnfG8LiBLRk6n698="; }; buildInputs = [ diff --git a/pkgs/by-name/pu/publicsuffix-list/package.nix b/pkgs/by-name/pu/publicsuffix-list/package.nix index ea3f3d9fa1e4..7dd02eb4f21d 100644 --- a/pkgs/by-name/pu/publicsuffix-list/package.nix +++ b/pkgs/by-name/pu/publicsuffix-list/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; - version = "0-unstable-2026-05-13"; + version = "0-unstable-2026-06-24"; src = fetchFromGitHub { owner = "publicsuffix"; repo = "list"; - rev = "e452c7058d6946bd76952b128c12f5ce87a5acb8"; - hash = "sha256-5D4RZAyJOL4hMU32Rmp3SYmjgqEtF36mZJr4YBG0k7E="; + rev = "18ecca5d54471f21918798da451dd8d03a18f3c7"; + hash = "sha256-xvOAZpWhuOU3koEHgNfVK6aHy+VMYRoHj3fq9PxaAFo="; }; dontBuild = true; diff --git a/pkgs/by-name/qb/qbittorrent/package.nix b/pkgs/by-name/qb/qbittorrent/package.nix index 07f1fe49193e..671e1d0e3d2b 100644 --- a/pkgs/by-name/qb/qbittorrent/package.nix +++ b/pkgs/by-name/qb/qbittorrent/package.nix @@ -17,7 +17,6 @@ wrapGAppsHook3, zlib, nixosTests, - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -36,10 +35,6 @@ stdenv.mkDerivation (finalAttrs: { pkg-config wrapGAppsHook3 qt6.wrapQtAppsHook - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # TODO: Remove once #536365 reaches this branch - llvmPackages.lld ]; buildInputs = [ @@ -65,11 +60,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals (!webuiSupport) [ "-DWEBUI=OFF" ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - qtWrapperArgs = lib.optionals trackerSearch [ "--prefix PATH : ${lib.makeBinPath [ python3 ]}" ]; dontWrapGApps = true; diff --git a/pkgs/by-name/qe/qemu/package.nix b/pkgs/by-name/qe/qemu/package.nix index ffbaf3b44edd..77fbe5ede54a 100644 --- a/pkgs/by-name/qe/qemu/package.nix +++ b/pkgs/by-name/qe/qemu/package.nix @@ -125,9 +125,6 @@ minimal ? toolsOnly || userOnly, gitUpdater, qemu-utils, # for tests attribute - - # TODO: Clean up on `staging`. - llvmPackages, }: assert lib.assertMsg ( @@ -185,9 +182,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals hexagonSupport [ glib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool - - # TODO: Clean up on `staging`. - llvmPackages.lld ] ++ lib.optionals (!userOnly) [ dtc ]; @@ -435,10 +429,6 @@ stdenv.mkDerivation (finalAttrs: { ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm ''; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - passthru = { qemu-system-i386 = "bin/qemu-system-i386"; tests = lib.optionalAttrs (!toolsOnly) { diff --git a/pkgs/by-name/re/rectangle/package.nix b/pkgs/by-name/re/rectangle/package.nix index 0fdec5ef846d..1fffb65459a7 100644 --- a/pkgs/by-name/re/rectangle/package.nix +++ b/pkgs/by-name/re/rectangle/package.nix @@ -5,8 +5,6 @@ darwin, actool, ibtool, - # TODO: Clean up on `staging` - llvmPackages, makeWrapper, nix-update-script, }: @@ -151,8 +149,6 @@ stdenv.mkDerivation (finalAttrs: { ibtool darwin.autoSignDarwinBinariesHook makeWrapper - # TODO: Clean up on `staging` - llvmPackages.lld ]; dontConfigure = true; @@ -165,8 +161,6 @@ stdenv.mkDerivation (finalAttrs: { commonSwiftFlags=( -O -disable-bridging-pch -Xlinker -platform_version -Xlinker macos -Xlinker 14.0 -Xlinker 26.0 - # TODO: Clean up on `staging` - -use-ld=lld ) nixLog "building Sparkle stub framework" @@ -199,12 +193,9 @@ stdenv.mkDerivation (finalAttrs: { ) masShortcutSources} nixLog "linking MASShortcut dylib" - # `-fuse-ld=lld`: fix for ld64 hardening issue - # TODO: Clean up on `staging` clang -dynamiclib "''${masObjFiles[@]}" \ -framework AppKit -framework Carbon -framework Foundation \ -install_name "@rpath/MASShortcut.framework/MASShortcut" \ - -fuse-ld=lld \ -o "$buildDir/libMASShortcut.dylib" rectSwiftFiles=() diff --git a/pkgs/by-name/re/redis/package.nix b/pkgs/by-name/re/redis/package.nix index 98057ad86d3a..a46d70a2b3d8 100644 --- a/pkgs/by-name/re/redis/package.nix +++ b/pkgs/by-name/re/redis/package.nix @@ -77,8 +77,9 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isFreeBSD "-lexecinfo"; - # darwin currently lacks a pure `pgrep` which is extensively used here - doCheck = !stdenv.hostPlatform.isDarwin; + # Tests are in the `tests` passthru derivation: the suite is very large and some tests (e.g. memtests) are flaky. + doCheck = false; + nativeCheckInputs = [ which tcl @@ -126,7 +127,10 @@ stdenv.mkDerivation (finalAttrs: { versionCheckProgram = "${placeholder "out"}/bin/redis-server"; passthru = { - tests.redis = nixosTests.redis; + tests = { + redis = nixosTests.redis; + unitTests = finalAttrs.finalPackage.overrideAttrs { doCheck = true; }; + }; serverBin = "redis-server"; updateScript = nix-update-script { }; }; diff --git a/pkgs/by-name/re/remarshal_0_17/package.nix b/pkgs/by-name/re/remarshal_0_17/package.nix index 1520b75fa0dc..a4109bad5238 100644 --- a/pkgs/by-name/re/remarshal_0_17/package.nix +++ b/pkgs/by-name/re/remarshal_0_17/package.nix @@ -59,6 +59,8 @@ pythonPackages.buildPythonApplication (finalAttrs: { u-msgpack-python ]; + pythonRelaxDeps = [ "cbor2" ]; + nativeCheckInputs = [ pythonPackages.pytestCheckHook ]; # nixpkgs-update: no auto update diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index aea62e081629..9345096f3fa7 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -61,9 +61,6 @@ vulkanSupport ? true, waylandSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, x11Support ? !stdenv.hostPlatform.isAndroid && !stdenv.hostPlatform.isWindows, - - # TODO: Clean up on `staging`. - llvmPackages, }: assert lib.assertMsg ( @@ -73,7 +70,7 @@ assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; - version = "3.4.10"; + version = "3.4.12"; outputs = [ "lib" @@ -86,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-6Dph2eLiJUmpQzPWe8EuY5LrWhrFwde2f2dwfgCcWNw="; + hash = "sha256-b6l3HgdhqIe9LazJmLivbCJgbKPAS8S54fuB9xvgalI="; }; postPatch = @@ -130,8 +127,7 @@ stdenv.mkDerivation (finalAttrs: { ninja validatePkgConfig ] - ++ lib.optional waylandSupport wayland-scanner - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ++ lib.optional waylandSupport wayland-scanner; buildInputs = lib.optionals libusbSupport [ @@ -211,10 +207,6 @@ stdenv.mkDerivation (finalAttrs: { && !(stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAndroid) && !(x11Support || waylandSupport) )) - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ]; doCheck = true; diff --git a/pkgs/by-name/se/serd/package.nix b/pkgs/by-name/se/serd/package.nix index 3ba0fafb9096..1e1fbf775862 100644 --- a/pkgs/by-name/se/serd/package.nix +++ b/pkgs/by-name/se/serd/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "serd"; - version = "0.32.8"; + version = "0.32.10"; outputs = [ "out" @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://download.drobilla.net/serd-${finalAttrs.version}.tar.xz"; - hash = "sha256-9HJZvDi6VTsN64ttq2tbc9NjBGmnyUOczcqA4G18Hs4="; + hash = "sha256-sOk7SeUvAaBJR1t4hu8UBAcRWjLTseXcX5UUHIgnXRw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/si/signal-desktop/dont-assert-unicode-17-emoji.patch b/pkgs/by-name/si/signal-desktop/dont-assert-unicode-17-emoji.patch deleted file mode 100644 index a39494ca8271..000000000000 --- a/pkgs/by-name/si/signal-desktop/dont-assert-unicode-17-emoji.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/scripts/generate-emoji-data.mjs b/scripts/generate-emoji-data.mjs -index 85fd8d484..23ca0bb72 100644 ---- a/scripts/generate-emoji-data.mjs -+++ b/scripts/generate-emoji-data.mjs -@@ -207,7 +207,6 @@ for (const emojiSrc of SRC_EMOJIS_SORTED) { - } - - const emoji = encodeUnified(emojiSrc.unified); -- assert(isEmoji(emoji), 'Unexpected invalid emoji'); - - if (isDeprecated(emoji)) { - continue; // drop deprecated emoji diff --git a/pkgs/by-name/si/signal-desktop/libsignal-node.nix b/pkgs/by-name/si/signal-desktop/libsignal-node.nix index c540ad1bfb83..b37ef4709c4a 100644 --- a/pkgs/by-name/si/signal-desktop/libsignal-node.nix +++ b/pkgs/by-name/si/signal-desktop/libsignal-node.nix @@ -15,23 +15,23 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "libsignal-node"; - version = "0.95.0"; + version = "0.96.3"; src = fetchFromGitHub { owner = "signalapp"; repo = "libsignal"; tag = "v${finalAttrs.version}"; - hash = "sha256-stxakRw9CJQetkBcF2BfQh1EvEGurccP5/QLNLyEJz0="; + hash = "sha256-FOppsfocUvUfWa6AfBPOxAnntGJkzTbnPwqMzzbHnWQ="; }; - cargoHash = "sha256-bbOsE6vcFQpplzXAupcvp2oEoIFT3nk8Ug9QWbCe2yc="; + cargoHash = "sha256-wsXlCpNwO+E6rVNaD2R51Mi0sZUv2lhllGxDxzyptYA="; npmRoot = "node"; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps"; inherit (finalAttrs) version src; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}"; - hash = "sha256-lCLM0qI11Ce9w2NNgXHalxa8Ks628nvTjZhy26PvNbM="; + hash = "sha256-p8udihRlXMTnG4BT60D2VlI7D/O3eHV/zCS7ucpeuO4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 7fa96cde9803..be16d0a387f6 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -4,6 +4,7 @@ lib, nodejs_24, pnpm_10, + pnpm_11, node-gyp, fetchPnpmDeps, pnpmConfigHook, @@ -32,22 +33,25 @@ assert lib.warnIf (commandLineArgs != "") true; let nodejs = nodejs_24; - pnpm = pnpm_10; + pnpm = pnpm_11; electron = electron_42; libsignal-node = callPackage ./libsignal-node.nix { inherit nodejs; }; - signal-sqlcipher = callPackage ./signal-sqlcipher.nix { inherit pnpm nodejs; }; + signal-sqlcipher = callPackage ./signal-sqlcipher.nix { + pnpm = pnpm_10; + inherit nodejs; + }; webrtc = callPackage ./webrtc.nix { }; ringrtc = callPackage ./ringrtc.nix { inherit webrtc; }; - version = "8.15.0"; + version = "8.18.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-SiOgNUll6J+EZNlmM6yhXakOc5qFCFRE/GczhaH57Vo="; + hash = "sha256-fynCFGmch3UecT5esNfVVlf0+xDrCdCBGw2HMMqBzWw="; # Emoji font files will be added in `postFetch` if `withAppleEmojis` is enabled. They # are fetched separately below. postFetch = '' @@ -63,16 +67,28 @@ let sticker-creator = stdenv.mkDerivation (finalAttrs: { pname = "signal-desktop-sticker-creator"; - inherit version; - src = src + "/sticker-creator"; + inherit src version; + + pnpmRoot = "sticker-creator"; + pnpmWorkspaces = [ "signal-art-creator" ]; pnpmDeps = fetchPnpmDeps { - inherit (finalAttrs) pname src version; + inherit (finalAttrs) + pname + src + version + postPatch + pnpmWorkspaces + ; inherit pnpm; fetcherVersion = 4; - hash = "sha256-WmDSa4PrASaqs8X68LYaPBeE+i+Jh3FfWF30SseN74Y="; + hash = "sha256-bWNs5W2NPk55Sm7UqwWvXU7bY+AXzevU3o2ji23HxtU="; }; + postPatch = '' + rm sticker-creator/pnpm-lock.yaml + ''; + strictDeps = true; nativeBuildInputs = [ nodejs @@ -83,7 +99,7 @@ let installPhase = '' runHook preInstall - cp -r dist $out + cp -r sticker-creator/dist $out runHook postInstall ''; }); @@ -113,9 +129,6 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./force-90-days-expiration.patch - - # Drop once https://github.com/NixOS/nixpkgs/pull/520553 and https://github.com/NixOS/nixpkgs/pull/525241 land. - ./dont-assert-unicode-17-emoji.patch ] ++ lib.optional (!withAppleEmojis) ( # Signal ships the Apple emoji set without a licence and upstream @@ -149,6 +162,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace config/production.json \ --replace-fail '"updatesEnabled": true' '"updatesEnabled": false' + # pnpm 11 verifies node_modules before every `pnpm run`, which fails + # after nixpkgs swaps in the prebuilt native modules below. + substituteInPlace pnpm-workspace.yaml \ + --replace-fail "verifyDepsBeforeRun: prompt" "verifyDepsBeforeRun: false" + # Nix builds do not need upstream release hooks (notarization and # language-pack postprocessing), and they expect a different macOS # app layout than nixpkgs' Electron provides. @@ -172,13 +190,13 @@ stdenv.mkDerivation (finalAttrs: { ; inherit pnpm; fetcherVersion = 4; - hash = "sha256-/z+P9mb7Cm3FzzMpV6Da6THcHd73JgPuuB0Gx8KwKcc="; + hash = "sha256-bWNs5W2NPk55Sm7UqwWvXU7bY+AXzevU3o2ji23HxtU="; }; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1781737260; + SOURCE_DATE_EPOCH = 1783606680; }; preBuild = '' @@ -233,6 +251,14 @@ stdenv.mkDerivation (finalAttrs: { popd test -f node_modules/fs-xattr/build/Release/xattr.node + # @signalapp/windows-ucv is imported on all platforms, but its TypeScript + # output is normally produced by its preinstall script. pnpmConfigHook runs + # `pnpm install --ignore-scripts`, so build it explicitly. + pushd packages/windows-ucv + pnpm run build + popd + test -f node_modules/@signalapp/windows-ucv/dist/index.js + cp -r ${electron.dist} electron-dist chmod -R u+w electron-dist cp -r ${sticker-creator} sticker-creator/dist diff --git a/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch b/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch index 6cc74744b76c..2b3e50b13af0 100644 --- a/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch +++ b/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch @@ -1,13 +1,13 @@ diff --git a/app/AssetService.main.ts b/app/AssetService.main.ts -index 33b20b8d5..c122f8c67 100644 +index a4a21b5bb..3d5ab1eb0 100644 --- a/app/AssetService.main.ts +++ b/app/AssetService.main.ts -@@ -32,7 +32,6 @@ const LOCAL_ASSETS = new Set([ +@@ -34,7 +34,6 @@ const OPTIONAL_ASSETS = new Map([]); - // pathname to optional resource name - const OPTIONAL_ASSETS = new Map([ -- ['optional-fonts/emoji-large.woff2', 'emoji-font.woff2'], - ]); + if (!process.mas) { + LOCAL_ASSETS.add('fonts/emoji.woff2'); +- OPTIONAL_ASSETS.set('optional-fonts/emoji-large.woff2', 'emoji-font.woff2'); + } export class AssetService { diff --git a/app/protocol_filter.node.ts b/app/protocol_filter.node.ts diff --git a/pkgs/by-name/si/signal-desktop/ringrtc.nix b/pkgs/by-name/si/signal-desktop/ringrtc.nix index 04b0d64cd4a9..c981eb2b9a2d 100644 --- a/pkgs/by-name/si/signal-desktop/ringrtc.nix +++ b/pkgs/by-name/si/signal-desktop/ringrtc.nix @@ -19,16 +19,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "ringrtc"; - version = "2.69.3"; + version = "2.69.4"; src = fetchFromGitHub { owner = "signalapp"; repo = "ringrtc"; tag = "v${finalAttrs.version}"; - hash = "sha256-ekSXEaAyVzd5957qoFakD33UYrUmvxZL19M6uflPR5U="; + hash = "sha256-z/9Y9rrlH4yziEVAXrCmkmP42hdDm3frGJnL1O/qOqg="; }; - cargoHash = "sha256-oNHT2owg3Ob2z8JxdYnICRdogK+XaasVgbF5RYYBJas="; + cargoHash = "sha256-a6CEUVW1HXqgIp/S+4Ype83N3QtNCBrutiEepHNW5pY="; preConfigure = '' # Check for matching webrtc version diff --git a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix index bdbf1db57ebd..d1b8824f2f2d 100644 --- a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix +++ b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix @@ -16,20 +16,20 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "node-sqlcipher"; - version = "3.3.5"; + version = "3.3.9"; src = fetchFromGitHub { owner = "signalapp"; repo = "node-sqlcipher"; tag = "v${finalAttrs.version}"; - hash = "sha256-RzuyUx0WEG8j8HwV5cepVJIeqYzJpNemFNtB+9NETto="; + hash = "sha256-eddDeNK8UA6CW1qXZtgS8QpuXVjFO6tVwpFDyYDnX+U="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; # may be different than top-level pnpm fetcherVersion = 4; - hash = "sha256-HK3AetwGqFq/dhxX+aWgUww6eLCeQEkZIVsmmnYqdmM="; + hash = "sha256-avvXNPfN5YVqwCOU2RX8dos3LTlre1t/4COKb4zHkh4="; }; cargoRoot = "deps/extension"; diff --git a/pkgs/by-name/st/starship/package.nix b/pkgs/by-name/st/starship/package.nix index d5482bf24114..877f887a9569 100644 --- a/pkgs/by-name/st/starship/package.nix +++ b/pkgs/by-name/st/starship/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, rustPlatform, - llvmPackages, installShellFiles, writableTmpDirAsHomeHook, gitMinimal, @@ -23,24 +22,13 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-pStNE8SMMVavL3ld6RO+5QQRJPXpqlU3asccS2tUoMQ="; }; - nativeBuildInputs = [ - installShellFiles - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ writableTmpDirAsHomeHook ]; - env = { - TZDIR = "${tzdata}/share/zoneinfo"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Work around ld64's libc++ hardening issue. - # - # TODO: Remove once #536365 reaches this branch. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env.TZDIR = "${tzdata}/share/zoneinfo"; postInstall = '' presetdir=$out/share/starship/presets/ diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix index 00ef020ed709..5168a4051808 100644 --- a/pkgs/by-name/st/stats/package.nix +++ b/pkgs/by-name/st/stats/package.nix @@ -3,8 +3,6 @@ swiftPackages, fetchFromGitHub, leveldb, - # TODO: Clean up on `staging`. - llvmPackages, perl, actool, makeWrapper, @@ -90,8 +88,6 @@ stdenv.mkDerivation (finalAttrs: { actool makeWrapper rcodesign - # TODO: Clean up on `staging`. - llvmPackages.lld ]; buildInputs = [ leveldb ]; @@ -130,8 +126,6 @@ stdenv.mkDerivation (finalAttrs: { # The Swift compiler in nixpkgs uses SDK 14 headers (which compile fine), but without # this flag the linker records SDK 14 and macOS withholds it (Liquid Glass) -Xlinker -platform_version -Xlinker macos -Xlinker 14.0 -Xlinker 26.0 - # TODO: Clean up on `staging` - -use-ld=lld ) buildFramework() { diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index 50638708a9d8..e67ee46020da 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -2,7 +2,6 @@ fetchFromGitHub, ibtool, lib, - llvmPackages, makeBinaryWrapper, stdenv, xcbuildHook, @@ -27,8 +26,6 @@ stdenv.mkDerivation (finalAttrs: { ibtool makeBinaryWrapper xcbuildHook - # TODO: Clean up on `staging` - llvmPackages.lld ]; xcbuildFlags = [ @@ -36,9 +33,6 @@ stdenv.mkDerivation (finalAttrs: { "terminal-notifier" ]; - # TODO: Clean up on `staging` - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - installPhase = '' runHook preInstall diff --git a/pkgs/by-name/to/topgrade/package.nix b/pkgs/by-name/to/topgrade/package.nix index ea32487e6167..ff7b11ad972e 100644 --- a/pkgs/by-name/to/topgrade/package.nix +++ b/pkgs/by-name/to/topgrade/package.nix @@ -4,7 +4,6 @@ fetchFromGitHub, rustPlatform, installShellFiles, - llvmPackages, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -22,18 +21,14 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ installShellFiles - ] - # TODO: Remove once #536365 reaches this branch - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_COMPILE = toString [ + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ "-framework" "AppKit" - ]; - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + ] + ); postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd topgrade \ diff --git a/pkgs/by-name/tr/tree-sitter/grammars/build-grammar.nix b/pkgs/by-name/tr/tree-sitter/grammars/build-grammar.nix index 598a14ff6ec3..177c031e1d62 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/build-grammar.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/build-grammar.nix @@ -37,21 +37,28 @@ stdenv.mkDerivation ( tree-sitter ]; - CFLAGS = [ - "-Isrc" - # Match upstream `tree-sitter build --wasm` - (if isWasi then "-Os" else "-O2") - ] - ++ lib.optionals isWasi [ - "-fvisibility=hidden" - ]; - CXXFLAGS = [ - "-Isrc" - (if isWasi then "-Os" else "-O2") - ] - ++ lib.optionals isWasi [ - "-fvisibility=hidden" - ]; + env = args.env or { } // { + CFLAGS = toString ( + [ + "-Isrc" + # Match upstream `tree-sitter build --wasm` + (if isWasi then "-Os" else "-O2") + ] + ++ lib.optionals isWasi [ + "-fvisibility=hidden" + ] + ); + CXXFLAGS = toString ( + [ + "-Isrc" + (if isWasi then "-Os" else "-O2") + ] + ++ lib.optionals isWasi [ + "-fvisibility=hidden" + ] + ); + inherit language; + }; stripDebugList = [ "parser" ]; @@ -170,5 +177,7 @@ stdenv.mkDerivation ( "generate" "excludeBrokenTreeSitterJson" "meta" + "language" + "env" ] ) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index 16b4548f0ad9..8e76a8c23f7b 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.60"; + version = "0.0.61"; __structuredAttrs = true; src = fetchFromGitHub { @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-9sD0xtxtw9hAOvWM0UkCARjwUe/lJw+KdqC7O1o7o6s="; + hash = "sha256-wmNYWfIdgNErP8rw7J43IsEyCg8YuQiaPHd34yzH92M="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-r8GvyK9gWryKdCVGzfYzDGJ2DH4H5A693aGA5DyNDZc="; + cargoHash = "sha256-9hF5JxwCaARBwKaaNhfOzVL2CAp8EOrJ8nPIFLlkN9g="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; diff --git a/pkgs/by-name/uv/uvwasi/package.nix b/pkgs/by-name/uv/uvwasi/package.nix index 8d48132e945e..5194fdc7ab07 100644 --- a/pkgs/by-name/uv/uvwasi/package.nix +++ b/pkgs/by-name/uv/uvwasi/package.nix @@ -8,6 +8,7 @@ stdenv, testers, validatePkgConfig, + static ? stdenv.hostPlatform.isStatic, # generates static libraries *only* }: stdenv.mkDerivation (finalAttrs: { @@ -21,6 +22,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+vz/qTMRRDHV1VE4nny9vYYtarZHk1xoM4EZiah3jnY="; }; + patches = [ + # FIXME: remove when included in a release + (fetchpatch2 { + url = "https://github.com/nodejs/uvwasi/commit/0820128569533c855d60c0f6382acbb14aa62ad2.patch?full_index=1"; + hash = "sha256-psjivoarqisOuCdVJAWuFH0aITzwb/obmal3ewVXvG4="; + }) + ]; + postPatch = lib.optionalString static '' + substituteInPlace CMakeLists.txt --replace-fail 'TARGETS uvwasi_a uvwasi' 'TARGETS uvwasi_a' + ''; + cmakeFlags = [ + (lib.cmakeBool "UVWASI_BUILD_SHARED" (!static)) + ]; + outputs = [ "out" ]; diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index 82e625efe933..558f37808261 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -65,8 +65,9 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-std=c11" ]); - # darwin currently lacks a pure `pgrep` which is extensively used here - doCheck = !stdenv.hostPlatform.isDarwin; + # Tests are in the `tests` passthru derivation: the suite is very large and significantly slows down the build. + doCheck = false; + nativeCheckInputs = [ which tcl @@ -102,13 +103,17 @@ stdenv.mkDerivation (finalAttrs: { --skipunit unit/memefficiency \ --skipunit unit/type/string \ --skipunit integration/failover \ - --skipunit integration/aof-multi-part + --skipunit integration/aof-multi-part \ + --skipunit integration/dual-channel-replication runHook postCheck ''; passthru = { - tests.redis = nixosTests.redis; + tests = { + redis = nixosTests.redis; + unitTests = finalAttrs.finalPackage.overrideAttrs { doCheck = true; }; + }; serverBin = "valkey-server"; }; diff --git a/pkgs/by-name/wa/watchexec/package.nix b/pkgs/by-name/wa/watchexec/package.nix index 784dfe8f14a5..0bf91b22f52a 100644 --- a/pkgs/by-name/wa/watchexec/package.nix +++ b/pkgs/by-name/wa/watchexec/package.nix @@ -4,7 +4,6 @@ rustPlatform, fetchFromGitHub, installShellFiles, - llvmPackages, nix-update-script, }: @@ -21,21 +20,13 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-ZwF5nNI2ESwgaH129MhcJPlhtmxqwhhQ9W49u9bilRk="; - nativeBuildInputs = [ - installShellFiles - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # TODO: Remove once #536365 reaches this branch - llvmPackages.lld - ]; + nativeBuildInputs = [ installShellFiles ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_LDFLAGS = toString [ "-framework" "AppKit" ]; - # TODO: Remove once #536365 reaches this branch - NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; checkFlags = [ diff --git a/pkgs/by-name/wx/wxwidgets_3_1/package.nix b/pkgs/by-name/wx/wxwidgets_3_1/package.nix index bea53d1e25e1..17b1d60e360f 100644 --- a/pkgs/by-name/wx/wxwidgets_3_1/package.nix +++ b/pkgs/by-name/wx/wxwidgets_3_1/package.nix @@ -23,9 +23,6 @@ withWebKit ? stdenv.hostPlatform.isDarwin, webkitgtk_4_1, libpng, - - # TODO: Clean up on `staging`. - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -48,11 +45,7 @@ stdenv.mkDerivation (finalAttrs: { ./0002-support-webkitgtk-41.patch ]; - nativeBuildInputs = [ - pkg-config - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ gst_all_1.gst-plugins-base @@ -96,17 +89,12 @@ stdenv.mkDerivation (finalAttrs: { "--enable-webviewwebkit" ]; - env = - lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { - SEARCH_LIB = toString [ - "${libGLU.out}/lib" - "${libGL.out}/lib" - ]; - } - # TODO: Clean up on `staging`. - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + SEARCH_LIB = toString [ + "${libGLU.out}/lib" + "${libGL.out}/lib" + ]; + }; preConfigure = '' substituteInPlace configure --replace \ diff --git a/pkgs/by-name/wx/wxwidgets_3_2/package.nix b/pkgs/by-name/wx/wxwidgets_3_2/package.nix index 164911b73410..0b1edf024fd9 100644 --- a/pkgs/by-name/wx/wxwidgets_3_2/package.nix +++ b/pkgs/by-name/wx/wxwidgets_3_2/package.nix @@ -29,9 +29,6 @@ withMesa ? !stdenv.hostPlatform.isDarwin, withWebKit ? true, webkitgtk_4_1, - - # TODO: Clean up on `staging`. - llvmPackages, }: let catch = fetchFromGitHub { @@ -59,11 +56,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YaQrPJSlTpJKwjXLdRsGB04f7wKJCWfHjXWkB45qyEg="; }; - nativeBuildInputs = [ - pkg-config - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ gst_all_1.gst-plugins-base @@ -121,17 +114,12 @@ stdenv.mkDerivation (finalAttrs: { "--enable-webviewwebkit" ]; - env = - lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { - SEARCH_LIB = toString [ - "${libGLU.out}/lib" - "${libGL.out}/lib" - ]; - } - # TODO: Clean up on `staging`. - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + SEARCH_LIB = toString [ + "${libGLU.out}/lib" + "${libGL.out}/lib" + ]; + }; preConfigure = '' cp -r ${catch}/* 3rdparty/catch/ diff --git a/pkgs/by-name/wx/wxwidgets_3_3/package.nix b/pkgs/by-name/wx/wxwidgets_3_3/package.nix index d7e649b1e8ea..d15b0a4de841 100644 --- a/pkgs/by-name/wx/wxwidgets_3_3/package.nix +++ b/pkgs/by-name/wx/wxwidgets_3_3/package.nix @@ -30,9 +30,6 @@ withEGL ? true, withPrivateFonts ? false, webkitgtk_4_1, - - # TODO: Clean up on `staging`. - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -47,11 +44,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-gB+mEk8rHpB4z1m8RWJSV+upKzLt7pZtlviS2g03EHY="; }; - nativeBuildInputs = [ - pkg-config - ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ gst_all_1.gst-plugins-base @@ -110,17 +103,12 @@ stdenv.mkDerivation (finalAttrs: { "--enable-webviewwebkit" ]; - env = - lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { - SEARCH_LIB = toString [ - "${libGLU.out}/lib" - "${libGL.out}/lib" - ]; - } - # TODO: Clean up on `staging`. - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + SEARCH_LIB = toString [ + "${libGLU.out}/lib" + "${libGL.out}/lib" + ]; + }; postInstall = " pushd $out/include diff --git a/pkgs/by-name/xj/xjadeo/package.nix b/pkgs/by-name/xj/xjadeo/package.nix index da78344f118d..ab7ae228ad7e 100644 --- a/pkgs/by-name/xj/xjadeo/package.nix +++ b/pkgs/by-name/xj/xjadeo/package.nix @@ -10,7 +10,6 @@ liblo, libx11, libxv, - llvmPackages, pkg-config, portmidi, libxpm, @@ -31,9 +30,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook pkg-config - ] - # TODO: Remove once #536365 reaches this branch - ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.lld; + ]; buildInputs = [ ffmpeg @@ -55,11 +52,6 @@ stdenv.mkDerivation (finalAttrs: { libxv ]; - # TODO: Remove once #536365 reaches this branch - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; - meta = { description = "X Jack Video Monitor"; longDescription = '' diff --git a/pkgs/by-name/xk/xkeyboard-config/package.nix b/pkgs/by-name/xk/xkeyboard-config/package.nix index b51a1eba07f2..685de9619f8c 100644 --- a/pkgs/by-name/xk/xkeyboard-config/package.nix +++ b/pkgs/by-name/xk/xkeyboard-config/package.nix @@ -13,11 +13,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xkeyboard-config"; - version = "2.47"; + version = "2.48"; src = fetchurl { url = "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-${finalAttrs.version}.tar.xz"; - hash = "sha256-5ZmEQWpy1YtGpSv+wbE2GqfYQ1RigifuJ4NibHpttrY="; + hash = "sha256-t3BBMk8BCfdxYe5DdD/gS6pIWGavhGDTHkdq0/dkj9U="; }; strictDeps = true; diff --git a/pkgs/by-name/xr/xrdb/package.nix b/pkgs/by-name/xr/xrdb/package.nix index fe508438601f..807bfd17fbef 100644 --- a/pkgs/by-name/xr/xrdb/package.nix +++ b/pkgs/by-name/xr/xrdb/package.nix @@ -13,7 +13,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xrdb"; - version = "1.2.2"; + version = "1.2.3"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "app"; repo = "xrdb"; tag = "xrdb-${finalAttrs.version}"; - hash = "sha256-XCi/E6tVaLYGRsMWJalCl1J8VIT4xV6KFuo+K//LQGY="; + hash = "sha256-dD9gYceg9RDfTIXBtMT/QFjoByu0cH/imBKAmSMM+7A="; }; strictDeps = true; diff --git a/pkgs/by-name/xs/xset/package.nix b/pkgs/by-name/xs/xset/package.nix index 0044bb6a4257..afa4d102f615 100644 --- a/pkgs/by-name/xs/xset/package.nix +++ b/pkgs/by-name/xs/xset/package.nix @@ -11,11 +11,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xset"; - version = "1.2.5"; + version = "1.2.6"; src = fetchurl { url = "mirror://xorg/individual/app/xset-${finalAttrs.version}.tar.xz"; - hash = "sha256-n2ktVWNbOGLNY2M7EiKodoDsKDx6jo7W3WmKMUf3Xi8="; + hash = "sha256-Yjg3NJ6oh7wAPwHuLktrjd2cJ3T2MsbXDurRtWMGtpU="; }; strictDeps = true; diff --git a/pkgs/by-name/ya/yabai/package.nix b/pkgs/by-name/ya/yabai/package.nix index 3f2e417939d3..e650f1b735f4 100644 --- a/pkgs/by-name/ya/yabai/package.nix +++ b/pkgs/by-name/ya/yabai/package.nix @@ -28,17 +28,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ installShellFiles xxd - # TODO: Clean up on `staging`. - llvmPackages.lld ]; buildInputs = [ apple-sdk_15 ]; - # TODO: Clean up on `staging`. - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - # Upstream Makefile races clean-build against linking under parallel make. enableParallelBuilding = false; diff --git a/pkgs/by-name/zi/zix/package.nix b/pkgs/by-name/zi/zix/package.nix index c7e17d2305f9..5f9b4b22f4cd 100644 --- a/pkgs/by-name/zi/zix/package.nix +++ b/pkgs/by-name/zi/zix/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "zix"; - version = "0.6.2"; + version = "0.8.2"; src = fetchFromGitLab { owner = "drobilla"; repo = "zix"; - rev = "v${finalAttrs.version}"; - hash = "sha256-1fdW014QKvTYHaEmDsivUVPzF/vZgnW3Srk6edp6G1o="; + tag = "v${finalAttrs.version}"; + hash = "sha256-EfljHq73FA5llX2nnr6pn75nB/FbKnWvr3/Phl5716M="; }; nativeBuildInputs = [ @@ -37,6 +37,6 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://gitlab.com/drobilla/zix/-/blob/${finalAttrs.src.rev}/NEWS"; license = lib.licenses.isc; platforms = lib.platforms.unix; - maintainers = [ ]; + maintainers = with lib.maintainers; [ qweered ]; }; }) diff --git a/pkgs/development/compilers/gcc/ng/default.nix b/pkgs/development/compilers/gcc/ng/default.nix index c849367aa1fc..4eb9ca23b9b5 100644 --- a/pkgs/development/compilers/gcc/ng/default.nix +++ b/pkgs/development/compilers/gcc/ng/default.nix @@ -14,7 +14,7 @@ }@packageSetArgs: let versions = { - "15.2.0".officialRelease.sha256 = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; + "15.3.0".officialRelease.sha256 = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; } // gccVersions; diff --git a/pkgs/development/compilers/gcc/patches/14/gcc-darwin-remove-coreservices.patch b/pkgs/development/compilers/gcc/patches/14/gcc-darwin-remove-coreservices.patch deleted file mode 100644 index 9d21a3c4c438..000000000000 --- a/pkgs/development/compilers/gcc/patches/14/gcc-darwin-remove-coreservices.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/config/intlmacosx.m4 b/config/intlmacosx.m4 -index 3141bf8c5..7a31862b9 100644 ---- a/config/intlmacosx.m4 -+++ b/config/intlmacosx.m4 -@@ -63,7 +63,7 @@ AC_DEFUN([gt_INTL_MACOSX], - dnl and we have to link it in explicitly, otherwise an exception - dnl NSInvalidArgumentException "unrecognized selector sent to instance" - dnl occurs. -- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices" -+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) - ]) -diff --git a/gcc/configure b/gcc/configure -index 23da7d55d..8bd09364d 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -13932,7 +13932,7 @@ $as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ - || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then -- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices" -+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - -diff --git a/libcpp/configure b/libcpp/configure -index 32d6aaa30..592c33881 100755 ---- a/libcpp/configure -+++ b/libcpp/configure -@@ -7570,7 +7570,7 @@ $as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ - || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then -- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices" -+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - diff --git a/pkgs/development/compilers/gcc/patches/14/gnat-darwin-dylib-install-name-14.patch b/pkgs/development/compilers/gcc/patches/14/gnat-darwin-dylib-install-name-14.patch deleted file mode 100644 index 195f7b10c348..000000000000 --- a/pkgs/development/compilers/gcc/patches/14/gnat-darwin-dylib-install-name-14.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in -index 0666fc00b..0e2d53eb8 100644 ---- a/gcc/ada/gcc-interface/Makefile.in -+++ b/gcc/ada/gcc-interface/Makefile.in -@@ -793,14 +793,14 @@ gnatlib-shared-darwin: - -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ - $(SO_OPTS) \ -- -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ -+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ - -nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \ - -Wl,-rpath,@loader_path/../../../../ $(MISCLIB) - cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -dynamiclib $(PICFLAG_FOR_TARGET) \ - -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_TASKING_OBJS) \ - $(SO_OPTS) \ -- -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ -+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ - -nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \ - -Wl,-rpath,@loader_path/../../../../ \ - $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) diff --git a/pkgs/development/compilers/gcc/patches/14/libgcc-darwin-detection.patch b/pkgs/development/compilers/gcc/patches/14/libgcc-darwin-detection.patch index c08706e8097f..772654cfd971 100644 --- a/pkgs/development/compilers/gcc/patches/14/libgcc-darwin-detection.patch +++ b/pkgs/development/compilers/gcc/patches/14/libgcc-darwin-detection.patch @@ -1,13 +1,12 @@ -diff --git a/libgcc/config.host b/libgcc/config.host -index 7332903704..27a8b5bedb 100644 --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -236,7 +236,7 @@ - esac - tmake_file="$tmake_file t-slibgcc-darwin" - case ${host} in +@@ -239,7 +239,7 @@ case ${host} in + x86_64-*-darwin2[0-2]*) + tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file" + ;; - *-*-darwin2*) +- tmake_file="t-darwin-min-11 $tmake_file" + *-*-darwin2* | *-*-darwin) - tmake_file="t-darwin-min-11 $tmake_file" ++ tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file" ;; *-*-darwin1[89]*) diff --git a/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch b/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch deleted file mode 100644 index 257c76d735da..000000000000 --- a/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch +++ /dev/null @@ -1,87 +0,0 @@ -Without the change `libhwy-1.3.0` ICEs when built for aarch64-linux as: -https://github.com/NixOS/nixpkgs/pull/320616#issuecomment-3764400891 - -Upstream report: http://gcc.gnu.org/PR120718 -Upstream fix: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00 -Fetched as: -$ curl -L 'https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00' > aarch64-sve-rtx.patch - -From: Richard Sandiford -Date: Thu, 14 Aug 2025 16:56:50 +0000 (+0100) -Subject: Remove MODE_COMPOSITE_P test from simplify_gen_subreg [PR120718] -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00 - -Remove MODE_COMPOSITE_P test from simplify_gen_subreg [PR120718] - -simplify_gen_subreg rejected subregs of literal constants if -MODE_COMPOSITE_P. This was added by the fix for PR96648 in -g:c0f772894b6b3cd8ed5c5dd09d0c7917f51cf70f. Jakub said: - - As for the simplify_gen_subreg change, I think it would be desirable - to just avoid creating SUBREGs of constants on all targets and for all - constants, if simplify_immed_subreg simplified, fine, otherwise punt, - but as we are late in GCC11 development, the patch instead guards this - behavior on MODE_COMPOSITE_P (outermode) - i.e. only conversions to - powerpc{,64,64le} double double long double - and only for the cases where - simplify_immed_subreg was called. - -I'm not sure about relaxing the codes further, since subregs might -be wanted for CONST, SYMBOL_REF and LABEL_REF. But removing the -MODE_COMPOSITE_P is needed to fix PR120718, where we get an ICE -from generating a subreg of a V2SI const_vector. - -Unlike the trunk version, this backport does not remove the -VOIDmode test; see PR121501. - -gcc/ - PR rtl-optimization/120718 - * simplify-rtx.cc (simplify_context::simplify_gen_subreg): - Remove MODE_COMPOSITE_P condition. - -gcc/testsuite/ - PR rtl-optimization/120718 - * gcc.target/aarch64/sve/acle/general/pr120718.c: New test. ---- - -diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc -index 88d31a71c05a..8d4cbf1371a3 100644 ---- a/gcc/simplify-rtx.cc -+++ b/gcc/simplify-rtx.cc -@@ -8317,14 +8317,11 @@ simplify_context::simplify_gen_subreg (machine_mode outermode, rtx op, - - if (GET_CODE (op) == SUBREG - || GET_CODE (op) == CONCAT -- || GET_MODE (op) == VOIDmode) -- return NULL_RTX; -- -- if (MODE_COMPOSITE_P (outermode) -- && (CONST_SCALAR_INT_P (op) -- || CONST_DOUBLE_AS_FLOAT_P (op) -- || CONST_FIXED_P (op) -- || GET_CODE (op) == CONST_VECTOR)) -+ || GET_MODE (op) == VOIDmode -+ || CONST_SCALAR_INT_P (op) -+ || CONST_DOUBLE_AS_FLOAT_P (op) -+ || CONST_FIXED_P (op) -+ || GET_CODE (op) == CONST_VECTOR) - return NULL_RTX; - - if (validate_subreg (outermode, innermode, op, byte)) -diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c -new file mode 100644 -index 000000000000..9ca0938e36bf ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c -@@ -0,0 +1,12 @@ -+/* { dg-options "-O2" } */ -+ -+#include -+typedef int __attribute__((vector_size(8))) v2si; -+typedef struct { int x; int y; } A; -+void bar(A a); -+void foo() -+{ -+ A a; -+ *(v2si *)&a = (v2si){0, (int)svcntd_pat(SV_ALL)}; -+ bar(a); -+} diff --git a/pkgs/development/compilers/gcc/patches/15/libgcc-darwin-detection.patch b/pkgs/development/compilers/gcc/patches/15/libgcc-darwin-detection.patch index 41e1c4c89869..20965f54be2b 100644 --- a/pkgs/development/compilers/gcc/patches/15/libgcc-darwin-detection.patch +++ b/pkgs/development/compilers/gcc/patches/15/libgcc-darwin-detection.patch @@ -1,9 +1,9 @@ --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -239,8 +239,8 @@ case ${host} in - x86_64-*-darwin2[0-2]*) - tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file" - ;; +@@ -236,7 +236,7 @@ + esac + tmake_file="$tmake_file t-slibgcc-darwin" + case ${host} in - *-*-darwin2*) - tmake_file="t-darwin-min-11 $tmake_file" + *-*-darwin2* | *-*-darwin) diff --git a/pkgs/development/compilers/gcc/patches/ada-cctools-as-detection-configure.patch b/pkgs/development/compilers/gcc/patches/ada-cctools-as-detection-configure.patch deleted file mode 100644 index e6b5b3653322..000000000000 --- a/pkgs/development/compilers/gcc/patches/ada-cctools-as-detection-configure.patch +++ /dev/null @@ -1,33 +0,0 @@ -As originally implemented, the error message check -described in the configure script -breaks detection of Ada compiler support on x86_64-darwin, -because the assembler in the version of cctools currently used -unconditionally emits a deprecation message to stdout, -with no way to disable it. - -Furthermore, GCC 3.4 was the minimum version needed to build GNAT -as far back as GCC 4.4 (see the GCC git repo, tags/releases/gcc-4.4.0, -gcc/doc/install.texi, lines 2052-2053 [1]); -GCC 3.4 is newer than any of the broken GCC versions -that the configure script works around -(see the part of the comment in the configure script -before the context in the patch below), -and GCC 4.4 is older than any GCC that Nix currently packages (GCC 4.8). - -We therefore choose to not check for error messages, -and just check for an error code. -There's no harm in still checking for an object file being created, though. - -[1]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/doc/install.texi;h=6bdfbece981f7fb6c26da672d45e5d3ba7879c69;hb=b7fc996728085c0591ea7c5d0e1c84a8f6a29bd8#l2052 ---- a/configure 2022-08-19 18:09:52.000000000 +1000 -+++ b/configure 2022-12-26 17:30:49.000000000 +1100 -@@ -5622,8 +5622,7 @@ - # Other compilers, like HP Tru64 UNIX cc, exit successfully when - # given a .adb file, but produce no object file. So we must check - # if an object file was really produced to guard against this. --errors=`(${CC} -c conftest.adb) 2>&1 || echo failure` --if test x"$errors" = x && test -f conftest.$ac_objext; then -+if ${CC} -c conftest.adb && test -f conftest.$ac_objext; then - acx_cv_cc_gcc_supports_ada=yes - fi - rm -f conftest.* diff --git a/pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-2.diff b/pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-2.diff deleted file mode 100644 index 83aecff1a0df..000000000000 --- a/pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-2.diff +++ /dev/null @@ -1,16 +0,0 @@ -this patch fixes build for clang-18+ - -diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S -index d3235bc33..1a56eb61c 100644 ---- a/libgcc/config/aarch64/lse.S -+++ b/libgcc/config/aarch64/lse.S -@@ -197,8 +197,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - .text - .balign 16 - .private_extern _\name -- .cfi_startproc - _\name: -+ .cfi_startproc - BTI_C - .endm - diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index cc0b5b47e9b4..02bf294db332 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -35,12 +35,6 @@ let is14 = majorVersion == "14"; is13 = majorVersion == "13"; - # We only apply these patches when building a native toolchain for - # aarch64-darwin, as it breaks building a foreign one: - # https://github.com/iains/gcc-12-branch/issues/18 - canApplyIainsDarwinPatches = - stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && buildIsHost && hostIsTarget; - inherit (lib) optionals optional; in @@ -82,7 +76,6 @@ optionals noSysDirs ( "14" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch - ./13/libsanitizer-fix-with-glibc-2.42.patch ]; "13" = [ ./13/no-sys-dirs-riscv.patch @@ -108,67 +101,58 @@ optionals noSysDirs ( # Needed to build llvm-18 and later # See https://github.com/NixOS/nixpkgs/pull/354107/commits/2de1b4b14e17f42ba8b4bf43a29347c91511e008 ++ optional (!atLeast14) ./cfi_startproc-reorder-label-09-1.diff -++ optional (atLeast14 && !canApplyIainsDarwinPatches) ./cfi_startproc-reorder-label-14-1.diff +++ optional (atLeast14 && !targetPlatform.isDarwin) ./cfi_startproc-reorder-label-14-1.diff # c++tools: Don't check --enable-default-pie. # --enable-default-pie breaks bootstrap gcc otherwise, because libiberty.a is not found ++ optional (is14 || is15) ./c++tools-dont-check-enable-default-pie.patch -# http://gcc.gnu.org/PR120718 backport (will be inclkuded in 15.3.0) to -# fix `highway-1.3.0` ICE on aarch64-linux. -++ optional is15 ./15/aarch64-sve-rtx.patch ## 2. Patches relevant on specific platforms #################################### ## Darwin -# Fixes detection of Darwin on x86_64-darwin and aarch64-darwin. Otherwise, GCC uses a deployment target of 10.5, which crashes ld64. -++ optional ( - # this one would conflict with gcc-14-darwin-aarch64-support.patch - is14 && stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 -) ../patches/14/libgcc-darwin-detection.patch -++ optional (atLeast15 && stdenv.hostPlatform.isDarwin) ../patches/15/libgcc-darwin-detection.patch - -# Fix libgcc_s.1.dylib build on Darwin 11+ by not reexporting unwind symbols that don't exist -++ optional ( - atLeast15 && stdenv.hostPlatform.isDarwin -) ../patches/15/libgcc-darwin-fix-reexport.patch - -# Fix detection of bootstrap compiler Ada support (cctools as) on Nix Darwin -++ optional (stdenv.hostPlatform.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch - -# Remove CoreServices on Darwin, as it is only needed for macOS SDK 14+ -++ optional ( - atLeast14 && stdenv.hostPlatform.isDarwin && langAda -) ../patches/14/gcc-darwin-remove-coreservices.patch - # Here we apply patches by Iains (https://github.com/iains) # GitHub's "compare" API produces unstable diffs, so we resort to reusing # diffs from the Homebrew repo. -++ optionals canApplyIainsDarwinPatches ( +++ optionals targetPlatform.isDarwin ( { + "16" = [ + # Fix libgcc_s.1.dylib build on Darwin 11+ by not reexporting unwind symbols that don't exist + ./15/libgcc-darwin-fix-reexport.patch + # Patches from https://github.com/iains/gcc-16-branch + (fetchpatch { + name = "gcc-16-darwin-aarch64-support.patch"; + url = "https://raw.githubusercontent.com/Homebrew/homebrew-core/70e2a9e1d072fa3bc34cf41d97f4b65bede2b01e/Patches/gcc/gcc-16.1.0.diff"; + hash = "sha256-dXfozKH//TRjAph7hUok7850hOdujTTi/iFM2HFA8fw="; + }) + # Fixes detection of Darwin deployment target. + ./14/libgcc-darwin-detection.patch + ]; "15" = [ - # Patches from https://github.com/iains/gcc-15-branch/compare/releases/gcc-15..gcc-15.1-darwin-rc1 + # Fix libgcc_s.1.dylib build on Darwin 11+ by not reexporting unwind symbols that don't exist + ./15/libgcc-darwin-fix-reexport.patch + # Patches from https://github.com/iains/gcc-15-branch (fetchpatch { name = "gcc-15-darwin-aarch64-support.patch"; - url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a25079204c1cb3d78ba9dd7dd22b8aecce7ce264/gcc/gcc-15.1.0.diff"; - sha256 = "sha256-MJxSGv6LEP1sIM8cDqbmfUV7byV0bYgADeIBY/Teyu8="; + url = "https://raw.githubusercontent.com/Homebrew/homebrew-core/70e2a9e1d072fa3bc34cf41d97f4b65bede2b01e/Patches/gcc/gcc-15.3.0.diff"; + hash = "sha256-PeAloBdUu+zRJlv86Z4x/FI8I7LiR5CJ3JlAJKs1iKU="; }) + # Fixes detection of Darwin deployment target. + ./15/libgcc-darwin-detection.patch ]; "14" = [ - # Patches from https://github.com/iains/gcc-14-branch/compare/04696df09633baf97cdbbdd6e9929b9d472161d3..gcc-14.2-darwin-r2 + # Patches from https://github.com/iains/gcc-14-branch (fetchpatch { - # There are no upstream release tags nor a static branch for 14.3.0 in https://github.com/iains/gcc-14-branch. - # aa4cd614456de65ee3417acb83c6cff0640144e9 is the merge base of https://github.com/iains/gcc-14-branch/tree/gcc-14-3-darwin-pre-0 and https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-14.3.0 - # 3e1d48d240f4aa5223c701b5c231c66f66ab1126 is the newest commit of https://github.com/iains/gcc-14-branch/tree/gcc-14-3-darwin-pre-0 name = "gcc-14-darwin-aarch64-support.patch"; - url = "https://github.com/iains/gcc-14-branch/compare/aa4cd614456de65ee3417acb83c6cff0640144e9..3e1d48d240f4aa5223c701b5c231c66f66ab1126.diff"; - hash = "sha256-BSTSYnkBJBEm++mGerVVyaCUC4dUyXq0N1tqbk25bO4="; + url = "https://raw.githubusercontent.com/Homebrew/homebrew-core/d23df58f83aeb2c3f43bdcc277a9fac0bbe3e896/Patches/gcc/gcc-14.4.0.diff"; + hash = "sha256-NU95q0xkP4wEi6XLJRWEhcMcL49gDuIHgZubC05QzRE="; }) + ./14/libgcc-darwin-detection.patch ]; - # Patches from https://github.com/iains/gcc-13-branch/compare/b71f1de6e9cf7181a288c0f39f9b1ef6580cf5c8..gcc-13-3-darwin "13" = [ + # Patches from https://github.com/iains/gcc-13-branch (fetchpatch { name = "gcc-13-darwin-aarch64-support.patch"; - url = "https://raw.githubusercontent.com/Homebrew/formula-patches/698885df7f624d0ce15bceb79a4d9760a473b502/gcc/gcc-13.4.0.diff"; + url = "https://raw.githubusercontent.com/Homebrew/homebrew-core/d23df58f83aeb2c3f43bdcc277a9fac0bbe3e896/Patches/gcc/gcc-13.4.0.diff"; hash = "sha256-xqkBDFYZ6fdowtqR3kV7bR8a4Cu11RDokSzGn1k3a1w="; }) ]; @@ -176,19 +160,8 @@ optionals noSysDirs ( .${majorVersion} or [ ] ) -# Use absolute path in GNAT dylib install names on Darwin -++ optionals (stdenv.hostPlatform.isDarwin && langAda) ( - { - "15" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ]; - "14" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ]; - # After the Iains patch, GCC 13 and 14 share the same patch. - "13" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ]; - } - .${majorVersion} or [ ] -) - ++ optional ( - langAda && is13 && canApplyIainsDarwinPatches + is13 && langAda && stdenv.targetPlatform.isDarwin ) ./13/gnat13-aarch64-darwin-trampoline.patch ++ optional (targetPlatform.isWindows || targetPlatform.isCygwin) (fetchpatch { diff --git a/pkgs/development/compilers/gcc/versions.nix b/pkgs/development/compilers/gcc/versions.nix index ca6b2c91033d..2c91269d5d48 100644 --- a/pkgs/development/compilers/gcc/versions.nix +++ b/pkgs/development/compilers/gcc/versions.nix @@ -1,8 +1,8 @@ let majorMinorToVersionMap = { "16" = "16.1.0"; - "15" = "15.2.0"; - "14" = "14.3.0"; + "15" = "15.3.0"; + "14" = "14.4.0"; "13" = "13.4.0"; }; @@ -15,8 +15,8 @@ let # 3 digits: releases (14.2.0) # 4 digits: snapshots (14.2.1.20250322) "16.1.0" = "sha256-UO+02Uwzl6/zsNYaWr10i03THZ0/Kre+BbFx02pRD3k="; - "15.2.0" = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; - "14.3.0" = "sha256-4Nx3KXYlYxrI5Q+pL//v6Jmk63AlktpcMu8E4ik6yjo="; + "15.3.0" = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; + "14.4.0" = "sha256-dStvVnvqyDFZx3p2gLExa914Rzi/+anQcBEsCdqQ9tk="; "13.4.0" = "sha256-nEzm27BAVo/cVFWIrAPFy8lajb8MeqSQFwhDr7WcqPU="; } ."${version}"; diff --git a/pkgs/development/compilers/gnat-bootstrap/default.nix b/pkgs/development/compilers/gnat-bootstrap/default.nix index 9b7827e362a9..1a710e765b2e 100644 --- a/pkgs/development/compilers/gnat-bootstrap/default.nix +++ b/pkgs/development/compilers/gnat-bootstrap/default.nix @@ -73,25 +73,23 @@ stdenv.mkDerivation ( } .${stdenv.hostPlatform.system} or throwUnsupportedSystem; "15" = { - gccVersion = "15.2.0"; + gccVersion = "15.3.0"; + alireRevision = "1"; } // { x86_64-linux = { - alireRevision = "1"; inherit url; - hash = "sha256-b4hAg3ifoBRqgPxpfMYuOdunw7wzRTL/G5YGBO+im24="; + hash = "sha256-8CDxqAQW7zskadfdzMjJqzPN8GZ2qu/7NWvcQLDis1s="; upstreamTriplet = "x86_64-pc-linux-gnu"; }; aarch64-linux = { - alireRevision = "1"; inherit url; - hash = "sha256-0V/VHqOSYQI6LmvpUIHy3zB6hI3dG0njOcDsrg8oZq8="; + hash = "sha256-cLLYWqdZuEZxV4ofd0GtO/+pQDMKs6TAOrAHw3DgI94="; upstreamTriplet = "aarch64-linux-gnu"; }; aarch64-darwin = { - alireRevision = "2-pre0"; - url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-15.2.0-2-macos-pre0/gnat-${stdenv.hostPlatform.system}-${finalAttrs.version}.tar.gz"; - hash = "sha256-4bFtsjixfXYc8wYOc+5iAbp1MmiIS1h1NcdKno2IdJg="; + inherit url; + hash = "sha256-WKwNQJEghnXQLexKHswn494b4sz+usvgYEIoNaedzCk="; upstreamTriplet = "aarch64-apple-darwin24.6.0"; }; } diff --git a/pkgs/development/compilers/go/1.26.nix b/pkgs/development/compilers/go/1.26.nix index 242fa4c91de8..b9c04a91729c 100644 --- a/pkgs/development/compilers/go/1.26.nix +++ b/pkgs/development/compilers/go/1.26.nix @@ -25,11 +25,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.26.4"; + version = "1.26.5"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-T2aKMvv8ETLmqIH7lowvHa2mMUkqM5IRc1+7JVpCYC0="; + hash = "sha256-SVvkvIcXasVnOS5bQRar2YRm0z17SdQedkzMaXay3EI="; }; strictDeps = true; diff --git a/pkgs/development/compilers/llvm/21/llvm/sdag-freeze-condition-in-select-of-load-fold.patch b/pkgs/development/compilers/llvm/21/llvm/sdag-freeze-condition-in-select-of-load-fold.patch new file mode 100644 index 000000000000..e1c7c2789fa3 --- /dev/null +++ b/pkgs/development/compilers/llvm/21/llvm/sdag-freeze-condition-in-select-of-load-fold.patch @@ -0,0 +1,3975 @@ +diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +index 91fd2d843f..d5b3ad2797 100644 +--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp ++++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +@@ -28487,10 +28487,12 @@ + SDNode::hasPredecessorHelper(RLD, Visited, Worklist))) + return false; + +- Addr = DAG.getSelect(SDLoc(TheSelect), +- LLD->getBasePtr().getValueType(), +- TheSelect->getOperand(0), LLD->getBasePtr(), +- RLD->getBasePtr()); ++ // If the condition is poison, originally this would result in a poison ++ // result. After the transform, this would result in a load of poison, ++ // which is UB. Freeze the condition to prevent this. ++ Addr = DAG.getSelect(SDLoc(TheSelect), LLD->getBasePtr().getValueType(), ++ DAG.getFreeze(TheSelect->getOperand(0)), ++ LLD->getBasePtr(), RLD->getBasePtr()); + } else { // Otherwise SELECT_CC + // We cannot do this optimization if any pair of {RLD, LLD} is a + // predecessor to {RLD, LLD, CondLHS, CondRHS}. As we've already compared +@@ -28509,10 +28511,10 @@ + SDNode::hasPredecessorHelper(RLD, Visited, Worklist))) + return false; + ++ SDValue FrozenOp0 = DAG.getFreeze(TheSelect->getOperand(0)); ++ SDValue FrozenOp1 = DAG.getFreeze(TheSelect->getOperand(1)); + Addr = DAG.getNode(ISD::SELECT_CC, SDLoc(TheSelect), +- LLD->getBasePtr().getValueType(), +- TheSelect->getOperand(0), +- TheSelect->getOperand(1), ++ LLD->getBasePtr().getValueType(), FrozenOp0, FrozenOp1, + LLD->getBasePtr(), RLD->getBasePtr(), + TheSelect->getOperand(4)); + } +diff --git a/test/CodeGen/AArch64/icmp.ll b/test/CodeGen/AArch64/icmp.ll +index 18665bcbea..ea6fff4a6d 100644 +--- a/test/CodeGen/AArch64/icmp.ll ++++ b/test/CodeGen/AArch64/icmp.ll +@@ -1379,26 +1379,22 @@ + define <2 x i128> @v2i128_i128(<2 x i128> %a, <2 x i128> %b, <2 x i128> %d, <2 x i128> %e) { + ; CHECK-SD-LABEL: v2i128_i128: + ; CHECK-SD: // %bb.0: // %entry ++; CHECK-SD-NEXT: cmp x2, x6 + ; CHECK-SD-NEXT: add x10, sp, #32 + ; CHECK-SD-NEXT: mov x11, sp ++; CHECK-SD-NEXT: sbcs xzr, x3, x7 ++; CHECK-SD-NEXT: cset w8, lt + ; CHECK-SD-NEXT: cmp x0, x4 +-; CHECK-SD-NEXT: orr x12, x10, #0x8 +-; CHECK-SD-NEXT: orr x13, x11, #0x8 + ; CHECK-SD-NEXT: sbcs xzr, x1, x5 ++; CHECK-SD-NEXT: cset w9, lt ++; CHECK-SD-NEXT: cmp w9, #0 ++; CHECK-SD-NEXT: csel x9, x11, x10, ne ++; CHECK-SD-NEXT: cmp w8, #0 + ; CHECK-SD-NEXT: add x8, sp, #48 +-; CHECK-SD-NEXT: add x9, sp, #16 +-; CHECK-SD-NEXT: csel x12, x13, x12, lt +-; CHECK-SD-NEXT: csel x10, x11, x10, lt +-; CHECK-SD-NEXT: cmp x2, x6 +-; CHECK-SD-NEXT: orr x11, x8, #0x8 +-; CHECK-SD-NEXT: orr x13, x9, #0x8 +-; CHECK-SD-NEXT: sbcs xzr, x3, x7 +-; CHECK-SD-NEXT: ldr x0, [x10] +-; CHECK-SD-NEXT: csel x8, x9, x8, lt +-; CHECK-SD-NEXT: csel x9, x13, x11, lt +-; CHECK-SD-NEXT: ldr x1, [x12] +-; CHECK-SD-NEXT: ldr x2, [x8] +-; CHECK-SD-NEXT: ldr x3, [x9] ++; CHECK-SD-NEXT: add x10, sp, #16 ++; CHECK-SD-NEXT: ldp x0, x1, [x9] ++; CHECK-SD-NEXT: csel x8, x10, x8, ne ++; CHECK-SD-NEXT: ldp x2, x3, [x8] + ; CHECK-SD-NEXT: ret + ; + ; CHECK-GI-LABEL: v2i128_i128: +diff --git a/test/CodeGen/ARM/fp16-promote.ll b/test/CodeGen/ARM/fp16-promote.ll +index 1bd0150880..7c2e738e49 100644 +--- a/test/CodeGen/ARM/fp16-promote.ll ++++ b/test/CodeGen/ARM/fp16-promote.ll +@@ -150,7 +150,7 @@ + ; No conversion is needed + define void @test_select(ptr %p, ptr %q, i1 zeroext %c) #0 { + ; CHECK-ALL-LABEL: test_select: +-; CHECK-ALL: cmp {{r[0-9]+}}, #0 ++; CHECK-ALL: tst {{r[0-9]+}}, #1 + ; CHECK-ALL: movne {{r[0-9]+}}, {{r[0-9]+}} + ; CHECK-ALL: ldrh {{r[0-9]+}}, [{{r[0-9]+}}] + ; CHECK-ALL: strh {{r[0-9]+}}, [{{r[0-9]+}}] +diff --git a/test/CodeGen/Mips/cconv/vector.ll b/test/CodeGen/Mips/cconv/vector.ll +index c64c60ddef..5cd2b77615 100644 +--- a/test/CodeGen/Mips/cconv/vector.ll ++++ b/test/CodeGen/Mips/cconv/vector.ll +@@ -6038,15 +6038,15 @@ + define <4 x float> @select(<4 x i32> %cond, <4 x float> %arg1, <4 x float> %arg2) { + ; MIPS32-LABEL: select: + ; MIPS32: # %bb.0: # %entry +-; MIPS32-NEXT: andi $1, $7, 1 +-; MIPS32-NEXT: lw $2, 16($sp) +-; MIPS32-NEXT: andi $2, $2, 1 ++; MIPS32-NEXT: lw $1, 16($sp) ++; MIPS32-NEXT: andi $2, $7, 1 ++; MIPS32-NEXT: andi $1, $1, 1 + ; MIPS32-NEXT: addiu $3, $sp, 44 + ; MIPS32-NEXT: addiu $5, $sp, 28 + ; MIPS32-NEXT: addiu $7, $sp, 48 + ; MIPS32-NEXT: addiu $8, $sp, 32 +-; MIPS32-NEXT: movn $7, $8, $2 +-; MIPS32-NEXT: movn $3, $5, $1 ++; MIPS32-NEXT: movn $7, $8, $1 ++; MIPS32-NEXT: movn $3, $5, $2 + ; MIPS32-NEXT: andi $1, $6, 1 + ; MIPS32-NEXT: addiu $2, $sp, 40 + ; MIPS32-NEXT: addiu $5, $sp, 24 +diff --git a/test/CodeGen/Mips/cmov.ll b/test/CodeGen/Mips/cmov.ll +index bb3c7c27a1..ee60b353b8 100644 +--- a/test/CodeGen/Mips/cmov.ll ++++ b/test/CodeGen/Mips/cmov.ll +@@ -65,7 +65,7 @@ + + ; 64-CMOV: daddiu $[[R1:[0-9]+]], ${{[0-9]+}}, %got_disp(d) + ; 64-CMOV: daddiu $[[R0:[0-9]+]], ${{[0-9]+}}, %got_disp(c) +-; 64-CMOV: movn $[[R1]], $[[R0]], $4 ++; 64-CMOV: movn $[[R1]], $[[R0]], $2 + + ; 64-CMP-DAG: daddiu $[[R1:[0-9]+]], ${{[0-9]+}}, %got_disp(d) + ; 64-CMP-DAG: daddiu $[[R0:[0-9]+]], ${{[0-9]+}}, %got_disp(c) +diff --git a/test/CodeGen/X86/cmovcmov.ll b/test/CodeGen/X86/cmovcmov.ll +index d2d1c4db46..2a69289291 100644 +--- a/test/CodeGen/X86/cmovcmov.ll ++++ b/test/CodeGen/X86/cmovcmov.ll +@@ -165,37 +165,40 @@ + ; NOCMOV-NEXT: fnstsw %ax + ; NOCMOV-NEXT: # kill: def $ah killed $ah killed $ax + ; NOCMOV-NEXT: sahf +-; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; NOCMOV-NEXT: jne .LBB4_3 +-; NOCMOV-NEXT: # %bb.1: # %entry +-; NOCMOV-NEXT: jp .LBB4_3 ++; NOCMOV-NEXT: setnp %al ++; NOCMOV-NEXT: sete %cl ++; NOCMOV-NEXT: andb %al, %cl ++; NOCMOV-NEXT: testb %cl, %cl ++; NOCMOV-NEXT: jne .LBB4_1 + ; NOCMOV-NEXT: # %bb.2: # %entry + ; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; NOCMOV-NEXT: .LBB4_3: # %entry ++; NOCMOV-NEXT: je .LBB4_5 ++; NOCMOV-NEXT: .LBB4_4: + ; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %edx +-; NOCMOV-NEXT: jne .LBB4_6 +-; NOCMOV-NEXT: # %bb.4: # %entry +-; NOCMOV-NEXT: jp .LBB4_6 +-; NOCMOV-NEXT: # %bb.5: # %entry ++; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax ++; NOCMOV-NEXT: je .LBB4_8 ++; NOCMOV-NEXT: .LBB4_7: ++; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %esi ++; NOCMOV-NEXT: jmp .LBB4_9 ++; NOCMOV-NEXT: .LBB4_1: ++; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx ++; NOCMOV-NEXT: jne .LBB4_4 ++; NOCMOV-NEXT: .LBB4_5: # %entry + ; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %edx +-; NOCMOV-NEXT: .LBB4_6: # %entry + ; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax +-; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %esi +-; NOCMOV-NEXT: jne .LBB4_9 +-; NOCMOV-NEXT: # %bb.7: # %entry +-; NOCMOV-NEXT: jp .LBB4_9 +-; NOCMOV-NEXT: # %bb.8: # %entry ++; NOCMOV-NEXT: jne .LBB4_7 ++; NOCMOV-NEXT: .LBB4_8: # %entry + ; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %esi + ; NOCMOV-NEXT: .LBB4_9: # %entry + ; NOCMOV-NEXT: movl (%ecx), %ecx + ; NOCMOV-NEXT: movl (%edx), %edx + ; NOCMOV-NEXT: movl (%esi), %esi +-; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %edi +-; NOCMOV-NEXT: jne .LBB4_12 +-; NOCMOV-NEXT: # %bb.10: # %entry +-; NOCMOV-NEXT: jp .LBB4_12 ++; NOCMOV-NEXT: jne .LBB4_10 + ; NOCMOV-NEXT: # %bb.11: # %entry + ; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %edi ++; NOCMOV-NEXT: jmp .LBB4_12 ++; NOCMOV-NEXT: .LBB4_10: ++; NOCMOV-NEXT: leal {{[0-9]+}}(%esp), %edi + ; NOCMOV-NEXT: .LBB4_12: # %entry + ; NOCMOV-NEXT: movl (%edi), %edi + ; NOCMOV-NEXT: movl %edi, 12(%eax) +diff --git a/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll b/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll +index 6a6b86e8ef..1c06160584 100644 +--- a/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll ++++ b/test/CodeGen/X86/fp-strict-scalar-cmp-fp16.ll +@@ -49,10 +49,13 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setnp %al ++; X86-FP16-NEXT: sete %cl ++; X86-FP16-NEXT: andb %al, %cl ++; X86-FP16-NEXT: testb $1, %cl + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -112,9 +115,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: seta %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmoval %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -173,9 +178,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setae %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovael %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -236,9 +243,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: seta %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmoval %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -299,9 +308,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setae %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovael %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -360,6 +371,8 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setne %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +@@ -421,9 +434,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setnp %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovnpl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -482,9 +497,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: sete %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -545,9 +562,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setb %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -608,9 +627,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setbe %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -669,9 +690,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setb %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -730,9 +753,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setbe %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -793,10 +818,13 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setp %al ++; X86-FP16-NEXT: setne %cl ++; X86-FP16-NEXT: orb %al, %cl ++; X86-FP16-NEXT: testb $1, %cl + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -856,9 +884,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vucomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setp %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -919,10 +949,13 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setnp %al ++; X86-FP16-NEXT: sete %cl ++; X86-FP16-NEXT: andb %al, %cl ++; X86-FP16-NEXT: testb $1, %cl + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -982,9 +1015,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: seta %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmoval %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1043,9 +1078,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setae %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovael %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1106,9 +1143,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: seta %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmoval %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1169,9 +1208,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setae %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovael %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1230,6 +1271,8 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setne %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +@@ -1291,9 +1334,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setnp %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovnpl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1352,9 +1397,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: sete %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1415,9 +1462,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setb %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1478,9 +1527,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setbe %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1539,9 +1590,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setb %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1600,9 +1653,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setbe %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovbel %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1663,10 +1718,13 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setp %al ++; X86-FP16-NEXT: setne %cl ++; X86-FP16-NEXT: orb %al, %cl ++; X86-FP16-NEXT: testb $1, %cl + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-FP16-NEXT: cmovnel %eax, %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +@@ -1726,9 +1784,11 @@ + ; X86-FP16: # %bb.0: + ; X86-FP16-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero + ; X86-FP16-NEXT: vcomish {{[0-9]+}}(%esp), %xmm0 ++; X86-FP16-NEXT: setp %al ++; X86-FP16-NEXT: testb $1, %al + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-FP16-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X86-FP16-NEXT: cmovpl %eax, %ecx ++; X86-FP16-NEXT: cmovnel %eax, %ecx + ; X86-FP16-NEXT: movl (%ecx), %eax + ; X86-FP16-NEXT: retl + ; +diff --git a/test/CodeGen/X86/fp-strict-scalar-cmp.ll b/test/CodeGen/X86/fp-strict-scalar-cmp.ll +index e3e2b6225a..b9823fd564 100644 +--- a/test/CodeGen/X86/fp-strict-scalar-cmp.ll ++++ b/test/CodeGen/X86/fp-strict-scalar-cmp.ll +@@ -13,10 +13,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: sete %cl ++; SSE-32-NEXT: andb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -32,10 +35,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: sete %cl ++; AVX-32-NEXT: andb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -56,13 +62,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB0_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB0_3 ++; X87-NEXT: setnp %al ++; X87-NEXT: sete %cl ++; X87-NEXT: andb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB0_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB0_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB0_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -73,10 +83,13 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: sete %cl ++; X87-CMOV-NEXT: andb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -91,9 +104,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -108,9 +123,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -130,7 +147,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB1_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB1_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -147,9 +166,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -164,9 +185,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -181,9 +204,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -203,7 +228,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB2_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB2_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -220,9 +247,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -237,9 +266,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -254,9 +285,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -276,7 +309,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB3_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB3_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -293,9 +328,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -310,9 +347,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -327,9 +366,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -349,7 +390,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB4_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB4_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -366,9 +409,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -383,6 +428,8 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setne %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +@@ -400,6 +447,8 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setne %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +@@ -422,6 +471,8 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf ++; X87-NEXT: setne %al ++; X87-NEXT: testb $1, %al + ; X87-NEXT: jne .LBB5_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -439,6 +490,8 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setne %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +@@ -456,9 +509,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovnpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -473,9 +528,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovnpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -495,7 +552,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jnp .LBB6_1 ++; X87-NEXT: setnp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB6_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -512,9 +571,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovnpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -529,9 +590,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: sete %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -546,9 +609,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: sete %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -568,7 +633,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: je .LBB7_1 ++; X87-NEXT: sete %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB7_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -585,9 +652,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: sete %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -602,9 +671,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -619,9 +690,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -641,7 +714,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB8_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB8_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -658,9 +733,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -675,9 +752,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -692,9 +771,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -714,7 +795,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB9_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB9_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -731,9 +814,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -748,9 +833,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -765,9 +852,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -787,7 +876,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB10_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB10_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -804,9 +895,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -821,9 +914,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -838,9 +933,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -860,7 +957,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB11_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB11_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -877,9 +976,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -894,10 +995,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: setne %cl ++; SSE-32-NEXT: orb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -913,10 +1017,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: setne %cl ++; AVX-32-NEXT: orb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -937,13 +1044,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB12_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB12_3 ++; X87-NEXT: setp %al ++; X87-NEXT: setne %cl ++; X87-NEXT: orb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB12_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB12_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB12_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -954,10 +1065,13 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: setne %cl ++; X87-CMOV-NEXT: orb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -972,9 +1086,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: ucomiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -989,9 +1105,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vucomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1011,7 +1129,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jp .LBB13_1 ++; X87-NEXT: setp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB13_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1028,9 +1148,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f32( +@@ -1045,10 +1167,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: sete %cl ++; SSE-32-NEXT: andb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1064,10 +1189,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: sete %cl ++; AVX-32-NEXT: andb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1088,13 +1216,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB14_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB14_3 ++; X87-NEXT: setnp %al ++; X87-NEXT: sete %cl ++; X87-NEXT: andb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB14_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB14_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB14_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -1105,10 +1237,13 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: sete %cl ++; X87-CMOV-NEXT: andb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1123,9 +1258,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1140,9 +1277,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1162,7 +1301,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB15_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB15_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1179,9 +1320,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1196,9 +1339,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1213,9 +1358,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1235,7 +1382,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB16_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB16_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1252,9 +1401,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1269,9 +1420,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1286,9 +1439,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1308,7 +1463,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB17_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB17_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1325,9 +1482,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1342,9 +1501,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1359,9 +1520,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1381,7 +1544,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB18_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB18_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1398,9 +1563,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1415,6 +1582,8 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setne %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +@@ -1432,6 +1601,8 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setne %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +@@ -1454,6 +1625,8 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf ++; X87-NEXT: setne %al ++; X87-NEXT: testb $1, %al + ; X87-NEXT: jne .LBB19_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -1471,6 +1644,8 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setne %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +@@ -1488,9 +1663,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovnpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1505,9 +1682,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovnpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1527,7 +1706,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jnp .LBB20_1 ++; X87-NEXT: setnp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB20_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1544,9 +1725,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovnpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1561,9 +1744,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: sete %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1578,9 +1763,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: sete %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1600,7 +1787,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: je .LBB21_1 ++; X87-NEXT: sete %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB21_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1617,9 +1806,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: sete %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1634,9 +1825,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1651,9 +1844,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1673,7 +1868,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB22_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB22_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1690,9 +1887,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1707,9 +1906,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1724,9 +1925,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1746,7 +1949,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB23_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB23_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1763,9 +1968,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1780,9 +1987,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1797,9 +2006,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1819,7 +2030,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB24_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB24_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1836,9 +2049,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1853,9 +2068,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1870,9 +2087,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1892,7 +2111,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB25_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB25_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -1909,9 +2130,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -1926,10 +2149,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: setne %cl ++; SSE-32-NEXT: orb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -1945,10 +2171,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: setne %cl ++; AVX-32-NEXT: orb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -1969,13 +2198,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB26_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB26_3 ++; X87-NEXT: setp %al ++; X87-NEXT: setne %cl ++; X87-NEXT: orb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB26_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB26_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB26_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -1986,10 +2219,13 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: setne %cl ++; X87-CMOV-NEXT: orb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -2004,9 +2240,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: ucomisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2021,9 +2259,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vucomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2043,7 +2283,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jp .LBB27_1 ++; X87-NEXT: setp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB27_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2060,9 +2302,11 @@ + ; X87-CMOV-NEXT: fucompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmp.f64( +@@ -2077,10 +2321,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: sete %cl ++; SSE-32-NEXT: andb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2096,10 +2343,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: sete %cl ++; AVX-32-NEXT: andb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2120,13 +2370,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB28_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB28_3 ++; X87-NEXT: setnp %al ++; X87-NEXT: sete %cl ++; X87-NEXT: andb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB28_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB28_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB28_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -2137,10 +2391,13 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: sete %cl ++; X87-CMOV-NEXT: andb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2155,9 +2412,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2172,9 +2431,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2194,7 +2455,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB29_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB29_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2211,9 +2474,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2228,9 +2493,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2245,9 +2512,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2267,7 +2536,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB30_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB30_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2284,9 +2555,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2301,9 +2574,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2318,9 +2593,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2340,7 +2617,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB31_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB31_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2357,9 +2636,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2374,9 +2655,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2391,9 +2674,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2413,7 +2698,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB32_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB32_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2430,9 +2717,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2447,6 +2736,8 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setne %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +@@ -2464,6 +2755,8 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setne %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +@@ -2486,6 +2779,8 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf ++; X87-NEXT: setne %al ++; X87-NEXT: testb $1, %al + ; X87-NEXT: jne .LBB33_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -2503,6 +2798,8 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setne %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +@@ -2520,9 +2817,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovnpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2537,9 +2836,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovnpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2559,7 +2860,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jnp .LBB34_1 ++; X87-NEXT: setnp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB34_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2576,9 +2879,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovnpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2593,9 +2898,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: sete %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2610,9 +2917,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: sete %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2632,7 +2941,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: je .LBB35_1 ++; X87-NEXT: sete %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB35_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2649,9 +2960,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: sete %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2666,9 +2979,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2683,9 +2998,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2705,7 +3022,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB36_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB36_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2722,9 +3041,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2739,9 +3060,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2756,9 +3079,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2778,7 +3103,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB37_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB37_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2795,9 +3122,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2812,9 +3141,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2829,9 +3160,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2851,7 +3184,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB38_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB38_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2868,9 +3203,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2885,9 +3222,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2902,9 +3241,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -2924,7 +3265,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB39_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB39_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -2941,9 +3284,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -2958,10 +3303,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: setne %cl ++; SSE-32-NEXT: orb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -2977,10 +3325,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: setne %cl ++; AVX-32-NEXT: orb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3001,13 +3352,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB40_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB40_3 ++; X87-NEXT: setp %al ++; X87-NEXT: setne %cl ++; X87-NEXT: orb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB40_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB40_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB40_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -3018,10 +3373,13 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: setne %cl ++; X87-CMOV-NEXT: orb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -3036,9 +3394,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; SSE-32-NEXT: comiss {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3053,9 +3413,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero + ; AVX-32-NEXT: vcomiss {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3075,7 +3437,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jp .LBB41_1 ++; X87-NEXT: setp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB41_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3092,9 +3456,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f32( +@@ -3109,10 +3475,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: sete %cl ++; SSE-32-NEXT: andb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3128,10 +3497,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: sete %cl ++; AVX-32-NEXT: andb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3152,13 +3524,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB42_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB42_3 ++; X87-NEXT: setnp %al ++; X87-NEXT: sete %cl ++; X87-NEXT: andb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB42_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB42_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB42_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -3169,10 +3545,13 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: sete %cl ++; X87-CMOV-NEXT: andb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3187,9 +3566,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3204,9 +3585,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3226,7 +3609,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB43_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB43_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3243,9 +3628,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3260,9 +3647,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3277,9 +3666,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3299,7 +3690,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB44_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB44_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3316,9 +3709,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3333,9 +3728,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: seta %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmoval %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3350,9 +3747,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: seta %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmoval %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3372,7 +3771,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: ja .LBB45_1 ++; X87-NEXT: seta %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB45_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3389,9 +3790,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: seta %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmoval %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3406,9 +3809,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setae %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovael %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3423,9 +3828,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setae %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovael %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3445,7 +3852,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jae .LBB46_1 ++; X87-NEXT: setae %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB46_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3462,9 +3871,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setae %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovael %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3479,6 +3890,8 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setne %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +@@ -3496,6 +3909,8 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setne %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +@@ -3518,6 +3933,8 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf ++; X87-NEXT: setne %al ++; X87-NEXT: testb $1, %al + ; X87-NEXT: jne .LBB47_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -3535,6 +3952,8 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setne %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +@@ -3552,9 +3971,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setnp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovnpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3569,9 +3990,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setnp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovnpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3591,7 +4014,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jnp .LBB48_1 ++; X87-NEXT: setnp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB48_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3608,9 +4033,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setnp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovnpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3625,9 +4052,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: sete %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3642,9 +4071,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: sete %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3664,7 +4095,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: je .LBB49_1 ++; X87-NEXT: sete %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB49_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3681,9 +4114,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: sete %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3698,9 +4133,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3715,9 +4152,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3737,7 +4176,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB50_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB50_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3754,9 +4195,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3771,9 +4214,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3788,9 +4233,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3810,7 +4257,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB51_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB51_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3827,9 +4276,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3844,9 +4295,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setb %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3861,9 +4314,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setb %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3883,7 +4338,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jb .LBB52_1 ++; X87-NEXT: setb %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB52_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3900,9 +4357,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setb %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3917,9 +4376,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setbe %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovbel %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -3934,9 +4395,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setbe %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovbel %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -3956,7 +4419,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jbe .LBB53_1 ++; X87-NEXT: setbe %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB53_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -3973,9 +4438,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setbe %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovbel %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -3990,10 +4457,13 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: setne %cl ++; SSE-32-NEXT: orb %al, %cl ++; SSE-32-NEXT: testb $1, %cl + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SSE-32-NEXT: cmovnel %eax, %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -4009,10 +4479,13 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: setne %cl ++; AVX-32-NEXT: orb %al, %cl ++; AVX-32-NEXT: testb $1, %cl + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; AVX-32-NEXT: cmovnel %eax, %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -4033,13 +4506,17 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: jne .LBB54_3 +-; X87-NEXT: # %bb.1: +-; X87-NEXT: jp .LBB54_3 ++; X87-NEXT: setp %al ++; X87-NEXT: setne %cl ++; X87-NEXT: orb %al, %cl ++; X87-NEXT: testb $1, %cl ++; X87-NEXT: jne .LBB54_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X87-NEXT: .LBB54_3: ++; X87-NEXT: movl (%eax), %eax ++; X87-NEXT: retl ++; X87-NEXT: .LBB54_1: ++; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax + ; X87-NEXT: retl + ; +@@ -4050,10 +4527,13 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: setne %cl ++; X87-CMOV-NEXT: orb %al, %cl ++; X87-CMOV-NEXT: testb $1, %cl + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X87-CMOV-NEXT: cmovnel %eax, %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +@@ -4068,9 +4548,11 @@ + ; SSE-32: # %bb.0: + ; SSE-32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero + ; SSE-32-NEXT: comisd {{[0-9]+}}(%esp), %xmm0 ++; SSE-32-NEXT: setp %al ++; SSE-32-NEXT: testb $1, %al + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SSE-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; SSE-32-NEXT: cmovpl %eax, %ecx ++; SSE-32-NEXT: cmovnel %eax, %ecx + ; SSE-32-NEXT: movl (%ecx), %eax + ; SSE-32-NEXT: retl + ; +@@ -4085,9 +4567,11 @@ + ; AVX-32: # %bb.0: + ; AVX-32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero + ; AVX-32-NEXT: vcomisd {{[0-9]+}}(%esp), %xmm0 ++; AVX-32-NEXT: setp %al ++; AVX-32-NEXT: testb $1, %al + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %eax + ; AVX-32-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; AVX-32-NEXT: cmovpl %eax, %ecx ++; AVX-32-NEXT: cmovnel %eax, %ecx + ; AVX-32-NEXT: movl (%ecx), %eax + ; AVX-32-NEXT: retl + ; +@@ -4107,7 +4591,9 @@ + ; X87-NEXT: fnstsw %ax + ; X87-NEXT: # kill: def $ah killed $ah killed $ax + ; X87-NEXT: sahf +-; X87-NEXT: jp .LBB55_1 ++; X87-NEXT: setp %al ++; X87-NEXT: testb $1, %al ++; X87-NEXT: jne .LBB55_1 + ; X87-NEXT: # %bb.2: + ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-NEXT: movl (%eax), %eax +@@ -4124,9 +4610,11 @@ + ; X87-CMOV-NEXT: fcompi %st(1), %st + ; X87-CMOV-NEXT: fstp %st(0) + ; X87-CMOV-NEXT: wait ++; X87-CMOV-NEXT: setp %al ++; X87-CMOV-NEXT: testb $1, %al + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx +-; X87-CMOV-NEXT: cmovpl %eax, %ecx ++; X87-CMOV-NEXT: cmovnel %eax, %ecx + ; X87-CMOV-NEXT: movl (%ecx), %eax + ; X87-CMOV-NEXT: retl + %cond = call i1 @llvm.experimental.constrained.fcmps.f64( +diff --git a/test/CodeGen/X86/fp128-libcalls-strict.ll b/test/CodeGen/X86/fp128-libcalls-strict.ll +index ad2d690fd7..5dbc28230d 100644 +--- a/test/CodeGen/X86/fp128-libcalls-strict.ll ++++ b/test/CodeGen/X86/fp128-libcalls-strict.ll +@@ -3898,6 +3898,7 @@ + ; X86-NEXT: calll __unordtf2 + ; X86-NEXT: addl $32, %esp + ; X86-NEXT: orb %bl, %al ++; X86-NEXT: testb $1, %al + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; X86-NEXT: cmovnel %eax, %ecx +@@ -3981,6 +3982,7 @@ + ; WIN-X86-NEXT: calll ___unordtf2 + ; WIN-X86-NEXT: addl $32, %esp + ; WIN-X86-NEXT: orb %bl, %al ++; WIN-X86-NEXT: testb $1, %al + ; WIN-X86-NEXT: jne LBB39_1 + ; WIN-X86-NEXT: # %bb.2: + ; WIN-X86-NEXT: leal 16(%ebp), %ecx +diff --git a/test/CodeGen/X86/fp80-strict-scalar-cmp.ll b/test/CodeGen/X86/fp80-strict-scalar-cmp.ll +index cb2361fbb8..f95738d9e5 100644 +--- a/test/CodeGen/X86/fp80-strict-scalar-cmp.ll ++++ b/test/CodeGen/X86/fp80-strict-scalar-cmp.ll +@@ -12,13 +12,17 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: jne .LBB0_3 +-; X86-NEXT: # %bb.1: +-; X86-NEXT: jp .LBB0_3 ++; X86-NEXT: setnp %al ++; X86-NEXT: sete %cl ++; X86-NEXT: andb %al, %cl ++; X86-NEXT: testb $1, %cl ++; X86-NEXT: jne .LBB0_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: .LBB0_3: ++; X86-NEXT: movl (%eax), %eax ++; X86-NEXT: retl ++; X86-NEXT: .LBB0_1: ++; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax + ; X86-NEXT: retl + ; +@@ -50,7 +54,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: ja .LBB1_1 ++; X86-NEXT: seta %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB1_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -87,7 +93,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jae .LBB2_1 ++; X86-NEXT: setae %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB2_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -124,7 +132,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: ja .LBB3_1 ++; X86-NEXT: seta %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB3_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -161,7 +171,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jae .LBB4_1 ++; X86-NEXT: setae %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB4_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -198,6 +210,8 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf ++; X86-NEXT: setne %al ++; X86-NEXT: testb $1, %al + ; X86-NEXT: jne .LBB5_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -235,7 +249,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jnp .LBB6_1 ++; X86-NEXT: setnp %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB6_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -272,7 +288,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: je .LBB7_1 ++; X86-NEXT: sete %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB7_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -309,7 +327,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jb .LBB8_1 ++; X86-NEXT: setb %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB8_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -346,7 +366,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jbe .LBB9_1 ++; X86-NEXT: setbe %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB9_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -383,7 +405,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jb .LBB10_1 ++; X86-NEXT: setb %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB10_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -420,7 +444,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jbe .LBB11_1 ++; X86-NEXT: setbe %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB11_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -457,13 +483,17 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: jne .LBB12_3 +-; X86-NEXT: # %bb.1: +-; X86-NEXT: jp .LBB12_3 ++; X86-NEXT: setp %al ++; X86-NEXT: setne %cl ++; X86-NEXT: orb %al, %cl ++; X86-NEXT: testb $1, %cl ++; X86-NEXT: jne .LBB12_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: .LBB12_3: ++; X86-NEXT: movl (%eax), %eax ++; X86-NEXT: retl ++; X86-NEXT: .LBB12_1: ++; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax + ; X86-NEXT: retl + ; +@@ -495,7 +525,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jp .LBB13_1 ++; X86-NEXT: setp %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB13_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -532,13 +564,17 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: jne .LBB14_3 +-; X86-NEXT: # %bb.1: +-; X86-NEXT: jp .LBB14_3 ++; X86-NEXT: setnp %al ++; X86-NEXT: sete %cl ++; X86-NEXT: andb %al, %cl ++; X86-NEXT: testb $1, %cl ++; X86-NEXT: jne .LBB14_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: .LBB14_3: ++; X86-NEXT: movl (%eax), %eax ++; X86-NEXT: retl ++; X86-NEXT: .LBB14_1: ++; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax + ; X86-NEXT: retl + ; +@@ -570,7 +606,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: ja .LBB15_1 ++; X86-NEXT: seta %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB15_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -607,7 +645,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jae .LBB16_1 ++; X86-NEXT: setae %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB16_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -644,7 +684,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: ja .LBB17_1 ++; X86-NEXT: seta %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB17_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -681,7 +723,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jae .LBB18_1 ++; X86-NEXT: setae %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB18_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -718,6 +762,8 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf ++; X86-NEXT: setne %al ++; X86-NEXT: testb $1, %al + ; X86-NEXT: jne .LBB19_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -755,7 +801,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jnp .LBB20_1 ++; X86-NEXT: setnp %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB20_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -792,7 +840,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: je .LBB21_1 ++; X86-NEXT: sete %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB21_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -829,7 +879,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jb .LBB22_1 ++; X86-NEXT: setb %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB22_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -866,7 +918,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jbe .LBB23_1 ++; X86-NEXT: setbe %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB23_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -903,7 +957,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jb .LBB24_1 ++; X86-NEXT: setb %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB24_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -940,7 +996,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jbe .LBB25_1 ++; X86-NEXT: setbe %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB25_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -977,13 +1035,17 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: jne .LBB26_3 +-; X86-NEXT: # %bb.1: +-; X86-NEXT: jp .LBB26_3 ++; X86-NEXT: setp %al ++; X86-NEXT: setne %cl ++; X86-NEXT: orb %al, %cl ++; X86-NEXT: testb $1, %cl ++; X86-NEXT: jne .LBB26_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax +-; X86-NEXT: .LBB26_3: ++; X86-NEXT: movl (%eax), %eax ++; X86-NEXT: retl ++; X86-NEXT: .LBB26_1: ++; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax + ; X86-NEXT: retl + ; +@@ -1015,7 +1077,9 @@ + ; X86-NEXT: fnstsw %ax + ; X86-NEXT: # kill: def $ah killed $ah killed $ax + ; X86-NEXT: sahf +-; X86-NEXT: jp .LBB27_1 ++; X86-NEXT: setp %al ++; X86-NEXT: testb $1, %al ++; X86-NEXT: jne .LBB27_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +diff --git a/test/CodeGen/X86/isel-select-cmov.ll b/test/CodeGen/X86/isel-select-cmov.ll +index d013ad2c7f..6ced7f45b6 100644 +--- a/test/CodeGen/X86/isel-select-cmov.ll ++++ b/test/CodeGen/X86/isel-select-cmov.ll +@@ -47,7 +47,7 @@ + ; + ; SDAG-X86-LABEL: select_cmov_i8: + ; SDAG-X86: ## %bb.0: +-; SDAG-X86-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-NEXT: jne LBB0_1 + ; SDAG-X86-NEXT: ## %bb.2: + ; SDAG-X86-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -60,7 +60,7 @@ + ; + ; SDAG-X86-CMOV-LABEL: select_cmov_i8: + ; SDAG-X86-CMOV: ## %bb.0: +-; SDAG-X86-CMOV-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-CMOV-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SDAG-X86-CMOV-NEXT: cmovnel %eax, %ecx +@@ -155,7 +155,7 @@ + ; + ; SDAG-X86-LABEL: select_cmov_i16: + ; SDAG-X86: ## %bb.0: +-; SDAG-X86-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-NEXT: jne LBB1_1 + ; SDAG-X86-NEXT: ## %bb.2: + ; SDAG-X86-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -168,7 +168,7 @@ + ; + ; SDAG-X86-CMOV-LABEL: select_cmov_i16: + ; SDAG-X86-CMOV: ## %bb.0: +-; SDAG-X86-CMOV-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-CMOV-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SDAG-X86-CMOV-NEXT: cmovnel %eax, %ecx +@@ -360,7 +360,7 @@ + ; + ; SDAG-X86-LABEL: select_cmov_i32: + ; SDAG-X86: ## %bb.0: +-; SDAG-X86-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-NEXT: jne LBB3_1 + ; SDAG-X86-NEXT: ## %bb.2: + ; SDAG-X86-NEXT: leal {{[0-9]+}}(%esp), %eax +@@ -373,7 +373,7 @@ + ; + ; SDAG-X86-CMOV-LABEL: select_cmov_i32: + ; SDAG-X86-CMOV: ## %bb.0: +-; SDAG-X86-CMOV-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-CMOV-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SDAG-X86-CMOV-NEXT: cmovnel %eax, %ecx +@@ -549,7 +549,7 @@ + ; + ; SDAG-X86-LABEL: select_cmov_i64: + ; SDAG-X86: ## %bb.0: +-; SDAG-X86-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-NEXT: jne LBB5_1 + ; SDAG-X86-NEXT: ## %bb.2: + ; SDAG-X86-NEXT: leal {{[0-9]+}}(%esp), %ecx +@@ -563,7 +563,7 @@ + ; + ; SDAG-X86-CMOV-LABEL: select_cmov_i64: + ; SDAG-X86-CMOV: ## %bb.0: +-; SDAG-X86-CMOV-NEXT: cmpb $0, {{[0-9]+}}(%esp) ++; SDAG-X86-CMOV-NEXT: testb $1, {{[0-9]+}}(%esp) + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax + ; SDAG-X86-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx + ; SDAG-X86-CMOV-NEXT: cmovnel %eax, %ecx +diff --git a/test/CodeGen/X86/select-constant-xor.ll b/test/CodeGen/X86/select-constant-xor.ll +index efc367d204..5d80e04fef 100644 +--- a/test/CodeGen/X86/select-constant-xor.ll ++++ b/test/CodeGen/X86/select-constant-xor.ll +@@ -172,8 +172,10 @@ + define i32 @icmpasreq(i32 %input, i32 %a, i32 %b) { + ; X86-LABEL: icmpasreq: + ; X86: # %bb.0: +-; X86-NEXT: cmpl $0, {{[0-9]+}}(%esp) +-; X86-NEXT: js .LBB8_1 ++; X86-NEXT: movl {{[0-9]+}}(%esp), %eax ++; X86-NEXT: sarl $31, %eax ++; X86-NEXT: cmpl $-1, %eax ++; X86-NEXT: je .LBB8_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +@@ -198,8 +200,10 @@ + define i32 @icmpasrne(i32 %input, i32 %a, i32 %b) { + ; X86-LABEL: icmpasrne: + ; X86: # %bb.0: +-; X86-NEXT: cmpl $0, {{[0-9]+}}(%esp) +-; X86-NEXT: jns .LBB9_1 ++; X86-NEXT: movl {{[0-9]+}}(%esp), %eax ++; X86-NEXT: sarl $31, %eax ++; X86-NEXT: cmpl $-1, %eax ++; X86-NEXT: jne .LBB9_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax + ; X86-NEXT: movl (%eax), %eax +diff --git a/test/CodeGen/X86/select-mmx.ll b/test/CodeGen/X86/select-mmx.ll +index 8a4308a5af..cc66033820 100644 +--- a/test/CodeGen/X86/select-mmx.ll ++++ b/test/CodeGen/X86/select-mmx.ll +@@ -85,8 +85,8 @@ + ; X86-NEXT: .cfi_def_cfa_register %ebp + ; X86-NEXT: andl $-8, %esp + ; X86-NEXT: subl $8, %esp +-; X86-NEXT: movl 8(%ebp), %eax +-; X86-NEXT: orl 12(%ebp), %eax ++; X86-NEXT: movl 12(%ebp), %eax ++; X86-NEXT: orl 8(%ebp), %eax + ; X86-NEXT: je .LBB1_1 + ; X86-NEXT: # %bb.2: + ; X86-NEXT: leal 24(%ebp), %eax +diff --git a/test/CodeGen/X86/select-of-load-poison.ll b/test/CodeGen/X86/select-of-load-poison.ll +new file mode 100644 +index 0000000000..1f71f812d2 +--- /dev/null ++++ b/test/CodeGen/X86/select-of-load-poison.ll +@@ -0,0 +1,20 @@ ++; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ++; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s ++ ++; Make sure there is an and 1, otherwise a case where the select condition ++; was poison could result in an out of bounds read instead. ++define i32 @test(i32 %x, ptr %p) { ++; CHECK-LABEL: test: ++; CHECK: # %bb.0: ++; CHECK-NEXT: # kill: def $edi killed $edi def $rdi ++; CHECK-NEXT: andl $1, %edi ++; CHECK-NEXT: movl 4(%rsi,%rdi,4), %eax ++; CHECK-NEXT: retq ++ %p1 = getelementptr i8, ptr %p, i64 4 ++ %v1 = load i32, ptr %p1 ++ %p2 = getelementptr i8, ptr %p, i64 8 ++ %v2 = load i32, ptr %p2 ++ %c = trunc nuw i32 %x to i1 ++ %v = select i1 %c, i32 %v2, i32 %v1 ++ ret i32 %v ++} diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index a886dac9c709..74badbfbd169 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -222,7 +222,35 @@ stdenv.mkDerivation ( hash = "sha256-3hkbYPUVRAtWpo5qBmc2jLZLivURMx8T0GQomvNZesc="; stripLen = 1; } - ); + ) + ++ lib.optionals (lib.versions.major release_version == "21") [ + # Several LLVM versions have a bug in SelectionDAG that causes + # miscompilations around conditional poisions. This was exposed due to + # Rust 1.97.0 exercising the involved code path heavily and generating + # segfaulting code. The patch was made to LLVM 23, but the tests have + # many conflicts, so we vendor a version-specific modified version. + # + # This should be backported to older LLVM versions as well, but this + # has not yet been done in order to ship the more important fixes + # quickly. + # + # Rust issue: https://github.com/rust-lang/rust/issues/159035 + # LLVM issue: https://github.com/llvm/llvm-project/issues/208611 + # LLVM PR: https://github.com/llvm/llvm-project/pull/208683 + (getVersionFile "llvm/sdag-freeze-condition-in-select-of-load-fold.patch") + ] + ++ lib.optionals (lib.versions.major release_version == "22") [ + # Same issue and fix as above, for LLVM 22. While LLVM 22 was EOL at + # the time of the LLVM PR, and was thus not backported upstream, the + # backport was made to Rust's LLVM fork on LLVM 22.1. Accordingly, we + # fetch the patch from there. + (fetchpatch { + name = "llvm-22-sdag-freeze-condition-in-select-of-load-fold.patch"; + url = "https://github.com/rust-lang/llvm-project/commit/abcef279cd33492fe8301c8873fc535fa4dbf0d5.patch"; + stripLen = 1; + hash = "sha256-HHVMVL7ZWiZkbfnD37zYxFWnfvI3LNS0Z2oFHhOaZsU="; + }) + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/development/compilers/llvm/common/openmp/default.nix b/pkgs/development/compilers/llvm/common/openmp/default.nix index 10f9ce154cb4..0b971ea1d0ef 100644 --- a/pkgs/development/compilers/llvm/common/openmp/default.nix +++ b/pkgs/development/compilers/llvm/common/openmp/default.nix @@ -19,7 +19,7 @@ ompdSupport ? true, ompdGdbSupport ? ompdSupport, getVersionFile, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, }: assert lib.assertMsg (ompdGdbSupport -> ompdSupport) "OMPD GDB support requires OMPD support!"; @@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: { ]; propagatedNativeBuildInputs = [ - openmpCheckPhaseHook + checkPhaseThreadLimitHook ]; buildInputs = [ diff --git a/pkgs/development/compilers/rust/1_96.nix b/pkgs/development/compilers/rust/1_97.nix similarity index 56% rename from pkgs/development/compilers/rust/1_96.nix rename to pkgs/development/compilers/rust/1_97.nix index b198c84400b5..3105bef9f841 100644 --- a/pkgs/development/compilers/rust/1_96.nix +++ b/pkgs/development/compilers/rust/1_97.nix @@ -50,8 +50,8 @@ let in import ./default.nix { - rustcVersion = "1.96.1"; - rustcSha256 = "sha256-0Km1GYxBhoU4rhKvKAZBY1UdBtzOqxHvCxvJqm6Yt6c="; + rustcVersion = "1.97.0"; + rustcSha256 = "sha256-HAhV2JgqD7HQMhtgVLVbcy07HRfIRoQet/0Ks3vydvg="; llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; llvmSharedForHost = llvmSharedFor pkgsBuildHost; @@ -65,30 +65,30 @@ import ./default.nix # Note: the version MUST be the same version that we are building. Upstream # ensures that each released compiler can compile itself: # https://github.com/NixOS/nixpkgs/pull/351028#issuecomment-2438244363 - bootstrapVersion = "1.96.1"; + bootstrapVersion = "1.97.0"; # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` bootstrapHashes = { - i686-unknown-linux-gnu = "9a3ef03fa419d662fbaf9b152a81db96379781771e6853ca06e31215fb177449"; - x86_64-unknown-linux-gnu = "b177534946e6e5422d8a75398b39625c08eabad675c08bd3d6565d3ba90c8450"; - x86_64-unknown-linux-musl = "12404d68457d3344877fbba3fde2c68743cd200fc70475451568e18076cc2a3d"; - arm-unknown-linux-gnueabihf = "c0c4b52bf5614dfcf6b9e94876f97509c71831fc09b8f0f0e228e13ce896ea92"; - armv7-unknown-linux-gnueabihf = "59320d46850c750b0a0d3e49939c00c3eed9917fab9a633300fb4d04bd8cfebc"; - aarch64-unknown-linux-gnu = "212cebf45b0669b2176eb08ffa17c90b07f9de2689d6aae3604d78699fa4f5c2"; - aarch64-unknown-linux-musl = "9e936f24cfd76db8a45ab352919336978531c0fb4eab7a7bdecc76b9562fcbdb"; - x86_64-apple-darwin = "c19cc27b3387e2dfe7eb4b5becc75ab5acf348b2a7f2142ad3716d93a0abaa2a"; - aarch64-apple-darwin = "c080e506af9cba3ca9472c17d989c2d8d5bcfc818eb5e196c77beee982788b50"; - powerpc64-unknown-linux-gnu = "7133e2e1ccf0eb66c4feeca8a2bbf21ad3223904a3459b3f228ff7c8dfc76871"; - powerpc64le-unknown-linux-gnu = "4cde26acb968f98fdb2f7f52e7f78b75a24afdea38abed7217e1cd02c6acbe06"; - powerpc64le-unknown-linux-musl = "d20d271134a11b3ba74c1c54fb926ea09f1c629321dcf53fb5d510f1ac1125a6"; - riscv64gc-unknown-linux-gnu = "b4c54315491239d2a4816535cea22a57ad1021e2529812ccfc938e64c53da276"; - s390x-unknown-linux-gnu = "17cb4a74048429dc03be326f976b35500c96290af248ed212071bafb4e366762"; - loongarch64-unknown-linux-gnu = "7f646ab7f798e7258db25286cbaed4fb54cae90afe44efebc7ff6c6120e4d3d9"; - loongarch64-unknown-linux-musl = "fd8e5e02e5c4bf879a54a31ebc4c24bbd2feb353a54b4e690e1cd04a97c60354"; - x86_64-unknown-freebsd = "8f5f247b7195a8925c092949c4eea96a6228d67e643dc10d97b1ed7c17e4c433"; + i686-unknown-linux-gnu = "d066e5dd59c15fc1c793173d53b41719162de4470b5c34041a8bc664542df375"; + x86_64-unknown-linux-gnu = "eb89b20287153391c49ebcdb7fd91b683a12438d129bfb92eadcc495545af3a7"; + x86_64-unknown-linux-musl = "675bb2d574efc64da0563a9cb70cc017560394c5938e04c92987cad383299e8d"; + arm-unknown-linux-gnueabihf = "180e487a1f7abaeda374b942d369dd7faa4364b1267629d48552d9a17a5bc4ab"; + armv7-unknown-linux-gnueabihf = "2f9dfd76694efcf391f6d4947e97be17d1f469c9e989ed194660ddd85877ca60"; + aarch64-unknown-linux-gnu = "70fb01b4894d56fad34c260ce63aee647589be57a26ab33730110d8228cbcf02"; + aarch64-unknown-linux-musl = "28efcf4ee31235eb5f7820dadba46400ab9dbbb030719e7a2ab284b02c8cbf82"; + x86_64-apple-darwin = "3dc9ad8ec35a9f0acd2c5ae2c80c36baf5c7010423bf339ca55709fc995885d4"; + aarch64-apple-darwin = "c2e6a5ef480f5715ae9874188c1fa749b6a6f90d8d911f5a3a5d768f0ac70427"; + powerpc64-unknown-linux-gnu = "62c9f9b7887505fc4dcda40784469f23909657d245e53025a7a8124b016d6631"; + powerpc64le-unknown-linux-gnu = "a8d3f487d07cebc48ce03ad66a970a5f5138a5c1e7c7cec12fb9b6e47a24bf1a"; + powerpc64le-unknown-linux-musl = "09fee3b9ede1e94ff6c3bad3918dc231be909c74bb182e0acd583c03a9f1df5f"; + riscv64gc-unknown-linux-gnu = "be239392f7112f6a81f20c9e715d5743319a8b773592e027ad800d73527d8fae"; + s390x-unknown-linux-gnu = "fee699e31d0a0034f46669c473e61a88af6734f8c5902d77329ac236fcd9b538"; + loongarch64-unknown-linux-gnu = "37ad9d55b98cc680a2d75c7184e6457b632ce82690a56be7a2044e32c91176ce"; + loongarch64-unknown-linux-musl = "bfba202bae252ac372026171d9bc98e5eb80578d576546f56e8aee2e9d64ecf0"; + x86_64-unknown-freebsd = "77101232e3769395e99c0e663d2c8beb3d4127857945cf7c812c1886ba823b8f"; }; - selectRustPackage = pkgs: pkgs.rust_1_96; + selectRustPackage = pkgs: pkgs.rust_1_97; } ( diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index a86e4a3d186d..3fb4f948a223 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -80,9 +80,9 @@ rustPlatform.buildRustPackage.override if stdenv.buildPlatform.canExecute stdenv.hostPlatform then '' installShellCompletion --cmd cargo \ - --bash <(CARGO_COMPLETE=bash cargo) \ - --fish <(CARGO_COMPLETE=fish cargo) \ - --zsh <(CARGO_COMPLETE=zsh cargo) + --bash <(CARGO_COMPLETE=bash $out/bin/cargo) \ + --fish <(CARGO_COMPLETE=fish $out/bin/cargo) \ + --zsh <(CARGO_COMPLETE=zsh $out/bin/cargo) '' else '' @@ -109,6 +109,13 @@ rustPlatform.buildRustPackage.override runHook postInstallCheck ''; + # Make sure our build rustc/cargo never make it into our runtime closure + disallowedReferences = [ + rustPlatform.rust.cargo + rustPlatform.rust.rustc + rustPlatform.rust.rustc.unwrapped + ]; + meta = { homepage = "https://crates.io"; description = "Downloads your Rust project's dependencies and builds your project"; diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 1f69bb92e213..254ae918bbf6 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -72,14 +72,16 @@ maturinBuildHook bindgenHook ; + + # Let packages reference the build derivations, e.g. for disallowedReferences. + # Get rid of the splicing though, so `nativeBuildInputs = [ rustPlatform.rust.rustc ]` works. + rust = { + rustc = rustc.__spliced.hostTarget or rustc; + cargo = cargo.__spliced.hostTarget or cargo; + }; }; }) // lib.optionalAttrs config.allowAliases { - rust = { - rustc = lib.warn "rustPlatform.rust.rustc is deprecated. Use rustc instead." rustc; - cargo = lib.warn "rustPlatform.rust.cargo is deprecated. Use cargo instead." cargo; - }; - # Added in 25.05. fetchCargoTarball = throw "`rustPlatform.fetchCargoTarball` has been removed in 25.05, use `rustPlatform.fetchCargoVendor` instead"; } diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index cf86b5412571..f5c09e0740ba 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -448,6 +448,12 @@ stdenv.mkDerivation (finalAttrs: { requiredSystemFeatures = [ "big-parallel" ]; + # Make sure our bootstrap packages don't end up in our runtime closure + disallowedReferences = [ + cargo + rustc + ]; + passthru = { llvm = llvmShared; inherit llvmPackages; diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 6748970eec43..439a3d5fe62e 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -7,7 +7,9 @@ coreutils, fetchurl, ps, + sbclPackages, # for passthru.tests strace, + stumpwm, # for passthru.tests texinfo, which, writableTmpDirAsHomeHook, @@ -30,8 +32,8 @@ let "2.4.10".sha256 = "sha256-zus5a2nSkT7uBIQcKva+ylw0LOFGTD/j5FPy3hDF4vg="; # By unofficial and very loose convention we keep the latest version of # SBCL, and the previous one in case someone quickly needs to roll back. - "2.6.4".sha256 = "sha256-O6U+ZUtg/rfE9QRmGZ1tUmDyZhxxG6ItS3cLZVQA1Xs="; "2.6.5".sha256 = "sha256-kex19kclLtbmrq6bGhP0fHxs/ZtoSI3Gnxpv6lrMtEA="; + "2.6.6".sha256 = "sha256-plp6MIEqr1SSXRGSubnoEPUnx5kRxgALdUgQWu99o0s="; }; # Collection of pre-built SBCL binaries for platforms that need them for # bootstrapping. Ideally these are to be avoided. If ECL (or any other @@ -308,6 +310,11 @@ stdenv.mkDerivation (finalAttrs: { __darwinAllowLocalNetworking = true; + passthru.tests = { + inherit stumpwm; + inherit (sbclPackages) iolib; + }; + meta = { # Broken since 2025-09-05 https://hydra.nixos.org/job/nixpkgs/staging-next/sbcl.x86_64-darwin broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64; diff --git a/pkgs/development/compilers/swift/compiler/default.nix b/pkgs/development/compilers/swift/compiler/default.nix index dc15009aac72..2f6fa2a9450f 100644 --- a/pkgs/development/compilers/swift/compiler/default.nix +++ b/pkgs/development/compilers/swift/compiler/default.nix @@ -37,8 +37,6 @@ DarwinTools, apple-sdk_14, darwinMinVersionHook, - # TODO: Clean up on `staging` - lld, }: let @@ -254,8 +252,6 @@ stdenv.mkDerivation { DarwinTools # sw_vers fixDarwinDylibNames cctools.libtool - # TODO: Clean up on `staging` - lld ]; buildInputs = [ @@ -566,12 +562,6 @@ stdenv.mkDerivation { # Fixed in: https://github.com/apple/swift/commit/84083afef1de5931904d5c815d53856cdb3fb232 cmakeFlags=" -GNinja - ${ - # Fix for ld64 hardening issue - # - # TODO: Clean up on staging - lib.optionalString stdenv.hostPlatform.isDarwin "-DCMAKE_LINKER_TYPE=LLD" - } -DBOOTSTRAPPING_MODE=BOOTSTRAPPING${lib.optionalString stdenv.hostPlatform.isDarwin "-WITH-HOSTLIBS"} -DSWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING=ON -DSWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=ON diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 8af33b495e9d..ad4fe81c46cb 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -15,8 +15,7 @@ let inherit stdenv; swift-unwrapped = callPackage ./compiler { - # TODO: Clean up on `staging` - inherit (llvmPackages) stdenv lld; + inherit (llvmPackages) stdenv; inherit (darwin) DarwinTools sigtool; }; diff --git a/pkgs/development/compilers/swift/swiftpm/default.nix b/pkgs/development/compilers/swift/swiftpm/default.nix index 2d5db28d68c7..9d8e414b72c9 100644 --- a/pkgs/development/compilers/swift/swiftpm/default.nix +++ b/pkgs/development/compilers/swift/swiftpm/default.nix @@ -135,11 +135,6 @@ let # so we don't have to account for that scenario. "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" ]; - - # TODO: Clean up on `staging`. - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_LDFLAGS = "-headerpad_max_install_names"; - }; } ); diff --git a/pkgs/development/compilers/swift/wrapper/default.nix b/pkgs/development/compilers/swift/wrapper/default.nix index 0bd4a818da6d..e446bec66868 100644 --- a/pkgs/development/compilers/swift/wrapper/default.nix +++ b/pkgs/development/compilers/swift/wrapper/default.nix @@ -5,10 +5,6 @@ useSwiftDriver ? true, swift-driver, clang, - - # TODO: Clean up on `staging`. - llvmPackages, - writeShellScriptBin, }: stdenv.mkDerivation ( @@ -94,15 +90,6 @@ stdenv.mkDerivation ( cp "$input" "$out/nix-support/$(basename "$input")" done fi - '' - # TODO: Clean up on `staging`. - + lib.optionalString stdenv.targetPlatform.isDarwin '' - printf "NIX_SWIFTFLAGS_COMPILE+=' -use-ld=lld -tools-directory %s'\n" \ - ${writeShellScriptBin "ld" '' - exec ${lib.getExe' llvmPackages.lld "ld64.lld"} "$@" - ''}/bin \ - >> $out/nix-support/setup-hook - printf '%s\n' ${lib.getBin llvmPackages.lld} >> $out/nix-support/propagated-build-inputs ''; passthru = { diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index f5f8dc59c072..4982332e88d1 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -361,6 +361,20 @@ in } ./python-imports-check-hook.sh ) { }; + pythonMetadataCheckHook = callPackage ( + { makePythonHook }: + makePythonHook { + name = "python-metadata-check-hook.sh"; + substitutions = { + inherit pythonInterpreter pythonSitePackages; + pythonWithPackaging = lib.getExe (pythonOnBuildForHost.withPackages (ps: [ ps.packaging ])); + }; + meta = { + maintainers = [ lib.maintainers.dotlambda ]; + }; + } ./python-metadata-check-hook.sh + ) { }; + pythonNamespacesHook = callPackage ( { makePythonHook, buildPackages }: makePythonHook { diff --git a/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh b/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh new file mode 100644 index 000000000000..f942e5bee76a --- /dev/null +++ b/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh @@ -0,0 +1,37 @@ +# shellcheck shell=bash + +# Setup hook for checking whether metadata in .dist-info matches the derivation +echo "Sourcing python-metadata-check-hook.sh" + +pythonMetadataCheckPhase() { + echo "Executing pythonMetadataCheckPhase" + + # shellcheck disable=SC2154 + pythonMetadataCheckOutput="$out" + if [[ -n "${python-}" ]]; then + echo "Using python specific output \$python for metadata check" + pythonMetadataCheckOutput=$python + fi + # shellcheck disable=SC2154 + derivationPname="$pname" + # shellcheck disable=SC2154 + derivationVersion="$version" + # `python -P` avoids picking up egg-info dirs in $PWD + metadataVersion="$(PYTHONPATH="$pythonMetadataCheckOutput/@pythonSitePackages@:$PYTHONPATH" \ + @pythonInterpreter@ -P -c 'from importlib.metadata import version; import sys; print(version(sys.argv[1]))' "$derivationPname")" + + # chethat both versions can be parsed + @pythonWithPackaging@ -c "from packaging.version import Version; from sys import argv; Version(argv[1]); Version(argv[2])" "$derivationVersion" "$metadataVersion" + + if @pythonWithPackaging@ -c "from packaging.version import Version; from sys import argv, exit; exit(Version(argv[1]) == Version(argv[2]))" "$derivationVersion" "$metadataVersion"; then + echo "The '$derivationPname' derivation has version '$derivationVersion' but .dist-info/METADATA specifies version '$metadataVersion'." + echo "This usually means that the wrong version is hardcoded in pyproject.toml or setup.{py,cfg}." + echo "Use the pyprojectVersionPatchHook or patch the version manually so that the project metadata matches the derivation's version." + exit 1 + fi +} + +if [ -z "${dontCheckPythonMetadata-}" ]; then + echo "Using pythonMetadataCheckPhase" + appendToVar preDistPhases pythonMetadataCheckPhase +fi diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index bc44a7de7178..48748b5eec77 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -18,6 +18,7 @@ pypaInstallHook, pythonCatchConflictsHook, pythonImportsCheckHook, + pythonMetadataCheckHook, pythonNamespacesHook, pythonOutputDistHook, pythonRelaxDepsHook, @@ -358,6 +359,21 @@ lib.extendMkDerivation { # This is a test, however, it should be ran independent of the checkPhase and checkInputs pythonImportsCheckHook ] + ++ + optionals + ( + finalAttrs ? "pname" + && finalAttrs ? "version" + # We don't care about the METADATA of Python applications. + && isPythonModule finalAttrs.passthru + # METADATA is unlikely to be correct if pyproject is false or null. + && pyproject == true + && !lib.hasInfix "unstable-" finalAttrs.version + && !isBootstrapPackage + ) + [ + pythonMetadataCheckHook + ] ++ optionals (python.pythonAtLeast "3.3") [ # Optionally enforce PEP420 for python3 pythonNamespacesHook diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 3397e6e27a14..75934d780a90 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "acl"; - version = "2.3.2"; + version = "2.4.0"; src = fetchurl { url = "mirror://savannah/acl/acl-${finalAttrs.version}.tar.gz"; - hash = "sha256-XyvbrWKXB6p9hcYj+ZSqih0t7FWnPeUgW6wL9gWKL3w="; + hash = "sha256-c8hTw9ROH2k+WpaphvG9GdPQ2sLH1FPnlhd3dLxOX2o="; }; outputs = [ diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index f2e057a33058..10891ece56a8 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "attr"; - version = "2.5.2"; + version = "2.6.0"; src = fetchurl { url = "mirror://savannah/attr/attr-${version}.tar.gz"; - sha256 = "sha256-Ob9nRS+kHQlIwhl2AQU/SLPXigKTiXNDMqYwmmgMbIc="; + hash = "sha256-1C+jdFExgLtIyxGkZpb0iCQOUST/HmrYiwq/9waYVhI="; }; outputs = [ @@ -29,11 +29,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext ]; - # tools/attr.c: Add missing libgen.h include for basename(3) - # Fixes compilation issue with musl and modern C99 compilers. - # See: https://bugs.gentoo.org/926294 - patches = [ ./musl.patch ]; - postPatch = '' for script in install-sh include/install-sh; do patchShebangs $script diff --git a/pkgs/development/libraries/attr/musl.patch b/pkgs/development/libraries/attr/musl.patch deleted file mode 100644 index 818161f15243..000000000000 --- a/pkgs/development/libraries/attr/musl.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001 -From: "Haelwenn (lanodan) Monnier" -Date: Sat, 30 Mar 2024 10:17:10 +0100 -Subject: tools/attr.c: Add missing libgen.h include for basename(3) - -Fixes compilation issue with musl and modern C99 compilers. - -See: https://bugs.gentoo.org/926294 ---- - tools/attr.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/attr.c b/tools/attr.c -index f12e4af..6a3c1e9 100644 ---- a/tools/attr.c -+++ b/tools/attr.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - #include - --- -cgit v1.1 - diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 46a32fec2e7e..96166235a309 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -249,7 +249,6 @@ celt, chromaprint, codec2, - clang, dav1d, davs2, fdk_aac, @@ -367,9 +366,6 @@ libnpp, # Testing testers, - - # TODO: Clean up on `staging`. - llvmPackages, }: /* @@ -805,6 +801,10 @@ stdenv.mkDerivation ( "--cc=${stdenv.cc.targetPrefix}clang" "--cxx=${stdenv.cc.targetPrefix}clang++" ] + ++ optionals withCudaLLVM [ + # Unwrapped compiler because it will be retargeted and used freestanding with --cuda-device-only. + "--nvcc=${lib.getExe buildPackages.clang.cc}" + ] ++ optionals withMetal [ "--metalcc=${xcode}/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/metal" "--metallib=${xcode}/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/metallib" @@ -834,10 +834,7 @@ stdenv.mkDerivation ( ++ optionals stdenv.hostPlatform.isx86 [ nasm ] # Texinfo version 7.1 introduced breaking changes, which older versions of ffmpeg do not handle. ++ optionals (lib.versionAtLeast version "6") [ texinfo ] - ++ optionals withCudaLLVM [ clang.cc ] - ++ optionals withCudaNVCC [ cuda_nvcc ] - # TODO: Clean up on `staging`. - ++ optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + ++ optionals withCudaNVCC [ cuda_nvcc ]; buildInputs = [ ] @@ -981,17 +978,12 @@ stdenv.mkDerivation ( buildFlags = [ "all" ] ++ optional buildQtFaststart "tools/qt-faststart"; # Build qt-faststart executable - env = - lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=incompatible-pointer-types" - "-Wno-error=int-conversion" - ]; - } - # TODO: Clean up on `staging`. - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=incompatible-pointer-types" + "-Wno-error=int-conversion" + ]; + }; # tests linking broken with shaderc after https://github.com/NixOS/nixpkgs/pull/477464/changes/5a47b12dfcd1b909ba35778a866394430054319a doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform && !withShaderc; diff --git a/pkgs/development/libraries/glibc/0001-resolv-Check-for-inet_ntop-failure-in-ns_sprintrrf.patch b/pkgs/development/libraries/glibc/0001-resolv-Check-for-inet_ntop-failure-in-ns_sprintrrf.patch new file mode 100644 index 000000000000..5e55d1242bb4 --- /dev/null +++ b/pkgs/development/libraries/glibc/0001-resolv-Check-for-inet_ntop-failure-in-ns_sprintrrf.patch @@ -0,0 +1,69 @@ +From 4d9c6b19fcb34fab03fb7dab8f6d36a2cc4ef982 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Jun 2026 18:22:20 +0200 +Subject: [PATCH 1/3] resolv: Check for inet_ntop failure in ns_sprintrrf + +This makes the output more consistent (either failure or complete +output) and helps with systematic testing with varying buffer +sizes. + +Reviewed-by: Carlos O'Donell +Reviewed-by: Adhemerval Zanella +(cherry picked from commit cd0db208d56a2cecd528b8ae96df752ba5344d9a) +--- + resolv/ns_print.c | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/resolv/ns_print.c b/resolv/ns_print.c +index cef2212fd2..cb680fb74e 100644 +--- a/resolv/ns_print.c ++++ b/resolv/ns_print.c +@@ -140,8 +140,9 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + switch (type) { + case ns_t_a: + if (rdlen != (size_t)NS_INADDRSZ) +- goto formerr; +- (void) inet_ntop(AF_INET, rdata, buf, buflen); ++ goto formerr; ++ if (inet_ntop (AF_INET, rdata, buf, buflen) == NULL) ++ return -1; + addlen(strlen(buf), &buf, &buflen); + break; + +@@ -307,9 +308,10 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + } + + case ns_t_aaaa: +- if (rdlen != (size_t)NS_IN6ADDRSZ) +- goto formerr; +- (void) inet_ntop(AF_INET6, rdata, buf, buflen); ++ if (rdlen != (size_t)NS_IN6ADDRSZ) ++ goto formerr; ++ if (inet_ntop (AF_INET6, rdata, buf, buflen) == NULL) ++ return -1; + addlen(strlen(buf), &buf, &buflen); + break; + +@@ -400,7 +402,8 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + goto formerr; + + /* Address. */ +- (void) inet_ntop(AF_INET, rdata, buf, buflen); ++ if (inet_ntop (AF_INET, rdata, buf, buflen) == NULL) ++ return -1; + addlen(strlen(buf), &buf, &buflen); + rdata += NS_INADDRSZ; + +@@ -542,7 +545,8 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + if (rdata + pbyte >= edata) goto formerr; + memset(&a, 0, sizeof(a)); + memcpy(&a.s6_addr[pbyte], rdata, sizeof(a) - pbyte); +- (void) inet_ntop(AF_INET6, &a, buf, buflen); ++ if (inet_ntop (AF_INET6, &a, buf, buflen) == NULL) ++ return -1; + addlen(strlen(buf), &buf, &buflen); + rdata += sizeof(a) - pbyte; + } +-- +2.54.0 + diff --git a/pkgs/development/libraries/glibc/0002-resolv-More-types-as-unknown-in-ns_sprintrrf-CVE-202.patch b/pkgs/development/libraries/glibc/0002-resolv-More-types-as-unknown-in-ns_sprintrrf-CVE-202.patch new file mode 100644 index 000000000000..5b39165a43b0 --- /dev/null +++ b/pkgs/development/libraries/glibc/0002-resolv-More-types-as-unknown-in-ns_sprintrrf-CVE-202.patch @@ -0,0 +1,134 @@ +From 103658e72f5aaeb36a5e405f9abaa1b687488fc1 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Jun 2026 18:22:20 +0200 +Subject: [PATCH 2/3] resolv: More types as unknown in ns_sprintrrf + (CVE-2026-5435) + +Specifically, CERT, TKEY, TSIG, OPT. This removes the buggy +implementations of TSIG, fixing bug 34033, and partially +fixing bug 34069. + +Reviewed-by: Carlos O'Donell +Reviewed-by: Adhemerval Zanella +(cherry picked from commit ca44a6609c29a683b03575fa035c6d17aa591e72) +--- + resolv/ns_print.c | 96 ----------------------------------------------- + 1 file changed, 96 deletions(-) + +diff --git a/resolv/ns_print.c b/resolv/ns_print.c +index cb680fb74e..8c876b147e 100644 +--- a/resolv/ns_print.c ++++ b/resolv/ns_print.c +@@ -437,96 +437,6 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + break; + } + +- case ns_t_cert: { +- u_int c_type, key_tag, alg; +- int n; +- unsigned int siz; +- char base64_cert[8192], tmp[40]; +- const char *leader; +- +- c_type = ns_get16(rdata); rdata += NS_INT16SZ; +- key_tag = ns_get16(rdata); rdata += NS_INT16SZ; +- alg = (u_int) *rdata++; +- +- len = SPRINTF((tmp, "%d %d %d ", c_type, key_tag, alg)); +- T(addstr(tmp, len, &buf, &buflen)); +- siz = (edata-rdata)*4/3 + 4; /* "+4" accounts for trailing \0 */ +- if (siz > sizeof(base64_cert) * 3/4) { +- const char *str = "record too long to print"; +- T(addstr(str, strlen(str), &buf, &buflen)); +- } +- else { +- len = b64_ntop(rdata, edata-rdata, base64_cert, siz); +- +- if (len < 0) +- goto formerr; +- else if (len > 15) { +- T(addstr(" (", 2, &buf, &buflen)); +- leader = "\n\t\t"; +- spaced = 0; +- } +- else +- leader = " "; +- +- for (n = 0; n < len; n += 48) { +- T(addstr(leader, strlen(leader), +- &buf, &buflen)); +- T(addstr(base64_cert + n, MIN(len - n, 48), +- &buf, &buflen)); +- } +- if (len > 15) +- T(addstr(" )", 2, &buf, &buflen)); +- } +- break; +- } +- +- case ns_t_tkey: { +- /* KJD - need to complete this */ +- u_long t; +- int mode, err, keysize; +- +- /* Algorithm name. */ +- T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); +- T(addstr(" ", 1, &buf, &buflen)); +- +- /* Inception. */ +- t = ns_get32(rdata); rdata += NS_INT32SZ; +- len = SPRINTF((tmp, "%lu ", t)); +- T(addstr(tmp, len, &buf, &buflen)); +- +- /* Expiration. */ +- t = ns_get32(rdata); rdata += NS_INT32SZ; +- len = SPRINTF((tmp, "%lu ", t)); +- T(addstr(tmp, len, &buf, &buflen)); +- +- /* Mode , Error, Key Size. */ +- /* Priority, Weight, Port. */ +- mode = ns_get16(rdata); rdata += NS_INT16SZ; +- err = ns_get16(rdata); rdata += NS_INT16SZ; +- keysize = ns_get16(rdata); rdata += NS_INT16SZ; +- len = SPRINTF((tmp, "%u %u %u ", mode, err, keysize)); +- T(addstr(tmp, len, &buf, &buflen)); +- +- /* XXX need to dump key, print otherdata length & other data */ +- break; +- } +- +- case ns_t_tsig: { +- /* BEW - need to complete this */ +- int n; +- +- T(len = addname(msg, msglen, &rdata, origin, &buf, &buflen)); +- T(addstr(" ", 1, &buf, &buflen)); +- rdata += 8; /*%< time */ +- n = ns_get16(rdata); rdata += INT16SZ; +- rdata += n; /*%< sig */ +- n = ns_get16(rdata); rdata += INT16SZ; /*%< original id */ +- sprintf(buf, "%d", ns_get16(rdata)); +- rdata += INT16SZ; +- addlen(strlen(buf), &buf, &buflen); +- break; +- } +- + case ns_t_a6: { + struct in6_addr a; + int pbyte, pbit; +@@ -561,12 +471,6 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + break; + } + +- case ns_t_opt: { +- len = SPRINTF((tmp, "%u bytes", class)); +- T(addstr(tmp, len, &buf, &buflen)); +- break; +- } +- + default: + snprintf (errbuf, sizeof (errbuf), "unknown RR type %d", type); + comment = errbuf; +-- +2.54.0 + diff --git a/pkgs/development/libraries/glibc/0003-resolv-Fix-buffer-overreads-in-ns_sprintrrf-CVE-2026.patch b/pkgs/development/libraries/glibc/0003-resolv-Fix-buffer-overreads-in-ns_sprintrrf-CVE-2026.patch new file mode 100644 index 000000000000..8bde49f159e0 --- /dev/null +++ b/pkgs/development/libraries/glibc/0003-resolv-Fix-buffer-overreads-in-ns_sprintrrf-CVE-2026.patch @@ -0,0 +1,66 @@ +From 2290143edc27486196815874dca5a528c118a73f Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Jun 2026 18:22:20 +0200 +Subject: [PATCH 3/3] resolv: Fix buffer overreads in ns_sprintrrf + (CVE-2026-6238) + +Check that the RDATA payload does not require more than RDATALEN +bytes while processing it. The fixes cover A6, LOC records. +(CERT, TKEY, TSIG were fixed before, by switching to the generic +formatter.) + +The vulnerable LOC record handling was first introduced before +glibc 2.0, in commit ee188d555b8c32ad9704a7440cab400af967292f. + +CERT, TSIG, TKEY handling came with commit +b43b13ac2544b11f35be301d1589b51a8473e32b, released with glibc 2.2. + +A6 record handling was introduced in commit +91633816430e7ec5a19fe3ff510a7c4822a9557e ("* resolv/ns_print.c +(ns_sprintrrf): Handle ns_t_a6 and ns_t_opt."), which went into glibc +2.7. + +This fixes bug 34069. + +Reviewed-by: Carlos O'Donell +Reviewed-by: Adhemerval Zanella +(cherry picked from commit a7b60d23bbb56eaef59f4962e4140062e552600a) +--- + resolv/ns_print.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/resolv/ns_print.c b/resolv/ns_print.c +index 8c876b147e..6832255a25 100644 +--- a/resolv/ns_print.c ++++ b/resolv/ns_print.c +@@ -318,7 +318,8 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + case ns_t_loc: { + char t[255]; + +- /* XXX protocol format checking? */ ++ if (rdlen != 16) ++ goto formerr; + (void) loc_ntoa(rdata, t); + T(addstr(t, strlen(t), &buf, &buflen)); + break; +@@ -452,13 +453,14 @@ ns_sprintrrf(const u_char *msg, size_t msglen, + + /* address suffix: provided only when prefix len != 128 */ + if (pbit < 128) { +- if (rdata + pbyte >= edata) goto formerr; ++ unsigned int bytelen = sizeof(a) - pbyte; ++ if (edata - rdata < bytelen) goto formerr; + memset(&a, 0, sizeof(a)); +- memcpy(&a.s6_addr[pbyte], rdata, sizeof(a) - pbyte); ++ memcpy(&a.s6_addr[pbyte], rdata, bytelen); + if (inet_ntop (AF_INET6, &a, buf, buflen) == NULL) + return -1; + addlen(strlen(buf), &buf, &buflen); +- rdata += sizeof(a) - pbyte; ++ rdata += bytelen; + } + + /* prefix name: provided only when prefix len > 0 */ +-- +2.54.0 + diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index b6c6a6c86445..5e391970a271 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -116,6 +116,15 @@ stdenv.mkDerivation ( # enable parallel & reproducible build of glibcLocales ./0001-localedata-allow-reproducible-parallel-install-of-lo.patch ./0002-Makeconfig-make-inst_complocaledir-overridable.patch + + # Security fixes. + # + # Can be dropped on 2.44. The first patch is only to make it + # easier to backport the fix for CVE-2026-6238 and it seems + # useful in its own right anyhow. + ./0001-resolv-Check-for-inet_ntop-failure-in-ns_sprintrrf.patch + ./0002-resolv-More-types-as-unknown-in-ns_sprintrrf-CVE-202.patch + ./0003-resolv-Fix-buffer-overreads-in-ns_sprintrrf-CVE-2026.patch ] /* NVCC does not support ARM intrinsics. Since is pulled in by almost @@ -209,7 +218,12 @@ stdenv.mkDerivation ( makeFlags = (args.makeFlags or [ ]) - ++ [ "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" ] + ++ [ + "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" + # zonedir does nothing on NixOS but is important for non-NixOS. + # See https://github.com/NixOS/nixpkgs/pull/491193 + "zonedir=/usr/share/zoneinfo" + ] ++ lib.optionals (stdenv.cc.libc != null) [ "BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib" "OBJDUMP=${stdenv.cc.bintools.bintools}/bin/objdump" diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 8b779a923226..a2a478c76ff2 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -46,8 +46,6 @@ hotdoc, directoryListingUpdater, apple-sdk_gstreamer, - # TODO: Clean up on `staging` - llvmPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -89,10 +87,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals enableWayland [ wayland-scanner - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ @@ -165,14 +159,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled" ++ lib.optional stdenv.hostPlatform.isDarwin "-Ddrm=disabled"; - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - CC_LD = "lld"; - OBJC_LD = "lld"; - }; - postPatch = '' patchShebangs \ scripts/meson-pkg-config-file-fixup.py \ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 35151386097a..d50923558017 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -33,8 +33,6 @@ hotdoc, directoryListingUpdater, apple-sdk_gstreamer, - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -86,10 +84,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals enableDocumentation [ hotdoc - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ @@ -123,14 +117,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "libdw" (withLibunwind && hasElfutils)) ]; - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - CC_LD = "lld"; - OBJC_LD = "lld"; - }; - postPatch = '' patchShebangs \ gst/parse/get_flex_version.py \ diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 6d0dd4edbdaf..4a689f5d82c7 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -66,8 +66,6 @@ gst-plugins-good, directoryListingUpdater, apple-sdk_gstreamer, - # TODO: Clean up on `staging` - llvmPackages, }: let @@ -139,10 +137,6 @@ stdenv.mkDerivation (finalAttrs: { ) ++ lib.optionals enableWayland [ wayland-protocols - ] - # TODO: Clean up on `staging` - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; buildInputs = [ @@ -271,13 +265,6 @@ stdenv.mkDerivation (finalAttrs: { # linking error on Darwin # https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896 "-lncurses"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - CC_LD = "lld"; - OBJC_LD = "lld"; }; # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''" diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 7e383fa49352..d8b9cb278773 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libva" + lib.optionalString minimal "-minimal"; - version = "2.23.0"; + version = "2.24.0"; src = fetchFromGitHub { owner = "intel"; repo = "libva"; rev = finalAttrs.version; - sha256 = "sha256-ePtzZPzBnkhV0cV3Nw/pgOnKnzDkk7U2Svzo0e1YMbc="; + sha256 = "sha256-NDh8XI1JJPegDXO2nH2XKVywp25Su/ytgR1OHI7nvdI="; }; outputs = [ diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index af86f01f877d..b19728125580 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -61,6 +61,13 @@ let tag = "v${packages.libxml2.version}"; hash = "sha256-fDntZDyITs223by8n7ueOXiO7yyzshtANoWbY0+yeqo="; }; + extraPatches = [ + (fetchpatch { + name = "CVE-2026-11979.patch"; + url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/c2e233fc1b341685fc99621b2768b503f777a72e.patch"; + hash = "sha256-s7hnAW7r4fbb95WnFHhUMZbMJzTynV7umKIqc7Kdp/Q="; + }) + ]; extraMeta = { maintainers = with lib.maintainers; [ jtojnar diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index 28f66d07bef3..85163117298f 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -28,6 +28,8 @@ libtiff, enableWebP ? true, libwebp, + enableJpegXL ? true, + libjxl, enableEXR ? !stdenv.hostPlatform.isDarwin, openexr, enableJPEG2000 ? true, @@ -89,9 +91,6 @@ bzip2, callPackage, - - # TODO: Clean up on `staging`. - llvmPackages, }@inputs: let @@ -382,6 +381,9 @@ effectiveStdenv.mkDerivation { ++ optionals enableWebP [ libwebp ] + ++ optionals enableJpegXL [ + libjxl + ] ++ optionals enableEXR [ openexr ] @@ -473,10 +475,6 @@ effectiveStdenv.mkDerivation { ) ++ optionals enableCuda [ cudaPackages.cuda_nvcc - ] - # TODO: Clean up on `staging`. - ++ optionals effectiveStdenv.hostPlatform.isDarwin [ - llvmPackages.lld ]; env = { @@ -504,6 +502,7 @@ effectiveStdenv.mkDerivation { (cmakeBool "WITH_IPP" enableIpp) (cmakeBool "WITH_TIFF" enableTIFF) (cmakeBool "WITH_WEBP" enableWebP) + (cmakeBool "WITH_JPEGXL" enableJpegXL) (cmakeBool "WITH_JPEG" enableJPEG) (cmakeBool "WITH_PNG" enablePNG) (cmakeBool "WITH_OPENEXR" enableEXR) @@ -566,10 +565,6 @@ effectiveStdenv.mkDerivation { ] ++ optionals (enabledModules != [ ]) [ (cmakeFeature "BUILD_LIST" (concatStringsSep "," enabledModules)) - ] - # TODO: Clean up on `staging`. - ++ optionals effectiveStdenv.hostPlatform.isDarwin [ - (cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ]; postBuild = optionalString enableDocs '' diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 480bd31a6bc1..c1e05d0a8b62 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -20,8 +20,6 @@ which, # darwin support xcbuild, - # TODO: Clean up on `staging` - llvmPackages, dbus, fontconfig, @@ -194,8 +192,6 @@ stdenv.mkDerivation ( ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild - # TODO: Clean up on `staging` - llvmPackages.lld ]; } @@ -377,12 +373,6 @@ stdenv.mkDerivation ( # if dependency paths contain the string "pq", which can occur in the hash. # To prevent these failures, we need to override PostgreSQL detection. PSQL_LIBS = "-L${libpq}/lib -lpq"; - } - // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; prefixKey = "-prefix "; diff --git a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix index d54096a0ea31..38fc7d0caae1 100644 --- a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix +++ b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix @@ -2,17 +2,11 @@ lib, qtModule, qtbase, - llvmPackages, }: qtModule { pname = "qtmacextras"; propagatedBuildInputs = [ qtbase ]; - - # TODO: Remove once #536365 reaches this branch - nativeBuildInputs = [ llvmPackages.lld ]; - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - meta = { maintainers = [ ]; platforms = lib.platforms.darwin; diff --git a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix index e3f60553ee63..7686093f4d75 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix @@ -89,9 +89,6 @@ # options qttranslations ? null, fetchpatch, - - # TODO: Clean up on `staging`. - llvmPackages, }: let @@ -200,11 +197,7 @@ stdenv.mkDerivation { cmake ninja ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - moveBuildTree - # TODO: Clean up on `staging`. - llvmPackages.lld - ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; propagatedNativeBuildInputs = [ lndir @@ -319,8 +312,6 @@ stdenv.mkDerivation { # When this variable is not set, cmake tries to execute xcodebuild # to query the version. "-DQT_INTERNAL_XCODE_VERSION=0.1" - # TODO: Clean up on `staging`. - (lib.cmakeFeature "CMAKE_LINKER_TYPE" "LLD") ] ++ lib.optionals isCrossBuild [ "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}" diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative/dont-cache-nix-store-paths.patch b/pkgs/development/libraries/qt-6/modules/qtdeclarative/dont-cache-nix-store-paths.patch index ef5d108db10c..cf363bdec4dd 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdeclarative/dont-cache-nix-store-paths.patch +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative/dont-cache-nix-store-paths.patch @@ -4,7 +4,7 @@ return false; } -+ if (unitUrl.path().startsWith(QStringLiteral("@nixStore@"))) { ++ if (QFileInfo(unitUrl.path()).canonicalFilePath().startsWith(QStringLiteral("@nixStore@"))) { + // We don't store bytecode for bare QML files in the nix store as the + // paths will change every time the application updates, filling caches + // endlessly with junk. diff --git a/pkgs/development/libraries/qt-6/modules/qtspeech.nix b/pkgs/development/libraries/qt-6/modules/qtspeech.nix index f87953f6fe81..4867bcaf7ee9 100644 --- a/pkgs/development/libraries/qt-6/modules/qtspeech.nix +++ b/pkgs/development/libraries/qt-6/modules/qtspeech.nix @@ -2,7 +2,6 @@ qtModule, lib, stdenv, - llvmPackages, qtbase, qtmultimedia, pkg-config, @@ -13,10 +12,7 @@ qtModule { pname = "qtspeech"; - nativeBuildInputs = [ - pkg-config - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ flite alsa-lib @@ -26,9 +22,4 @@ qtModule { qtbase qtmultimedia ]; - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Work around ld64's libc++ hardening issue. - # TODO: Remove once #536365 reaches this branch. - NIX_CFLAGS_LINK = "-fuse-ld=lld"; - }; } diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index d8fef6094276..b1a0175dfde1 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -4,6 +4,11 @@ fetchFromGitHub, fetchpatch, cmake, + # sets OPENBLAS_NUM_THREADS and OMP_NUM_THREADS for packages + # invoking openblas during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: https://github.com/OpenMathLib/OpenBLAS/blob/e7b45174355edec1f04de1cabcf5ca6a98ea7fbc/USAGE.md#how-can-i-use-openblas-in-multi-threaded-applications + checkPhaseThreadLimitHook, # Most packages depending on openblas expect integer width to match # pointer width, but some expect to use 32-bit integers always # (for compatibility with reference BLAS). @@ -223,6 +228,10 @@ stdenv.mkDerivation (finalAttrs: { cmake ]; + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + buildInputs = lib.optional (stdenv.cc.isClang && config.USE_OPENMP) openmp; depsBuildBuild = [ diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 9ac51240bc0c..07ebaf36371c 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -28,17 +28,17 @@ in stdenv.mkDerivation rec { pname = "sqlite${lib.optionalString interactive "-interactive"}"; - version = "3.53.1"; + version = "3.53.3"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { url = "https://sqlite.org/2026/sqlite-src-${archiveVersion version}.zip"; - hash = "sha256-GytXVdkGTE1dGwv1MHtIsImWPikcQMxzUTGKobYcRg4="; + hash = "sha256-u4C/ijv/wZJBzoq6WkvHTpw5gAE8sLXw8JdqmVFpQq8="; }; docsrc = fetchurl { url = "https://sqlite.org/2026/sqlite-doc-${archiveVersion version}.zip"; - hash = "sha256-n9Bgv33YwseOdBHQb7gdyKqgWeth7sgMZeBlioVFtDM="; + hash = "sha256-Fo+Zhph2vPTbjZPvoqSDqcgVNlN9AZAMWM110KZ8yic="; }; outputs = [ diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index 9755b3733273..dfbcad20cad9 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.53.1"; + version = "3.53.3"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2026/sqlite-src-${archiveVersion version}.zip"; - hash = "sha256-GytXVdkGTE1dGwv1MHtIsImWPikcQMxzUTGKobYcRg4="; + hash = "sha256-u4C/ijv/wZJBzoq6WkvHTpw5gAE8sLXw8JdqmVFpQq8="; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index c00e0ef9d3f4..46a705218881 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayland"; - version = "1.25.0"; + version = "1.26.0"; src = fetchurl { url = with finalAttrs; "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; - hash = "sha256-wGXwQK/f8xd2gGAPJJcn5Boa/CL8zyciLxX1MG+qHwM="; + hash = "sha256-ZBduqkbklpkD4ob45e+DMa/8F/3wOsm1g4HSsjFit6M="; }; postPatch = lib.optionalString withDocumentation '' diff --git a/pkgs/development/python-modules/accuweather/default.nix b/pkgs/development/python-modules/accuweather/default.nix index 91318f108b18..7cb2d9b93d81 100644 --- a/pkgs/development/python-modules/accuweather/default.nix +++ b/pkgs/development/python-modules/accuweather/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytest-error-for-skips, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp orjson diff --git a/pkgs/development/python-modules/aioazuredevops/default.nix b/pkgs/development/python-modules/aioazuredevops/default.nix index 3573c5ab088f..9d04daf635c5 100644 --- a/pkgs/development/python-modules/aioazuredevops/default.nix +++ b/pkgs/development/python-modules/aioazuredevops/default.nix @@ -34,6 +34,11 @@ buildPythonPackage rec { hash = "sha256-0KQHL9DmNeRvEs51XPcncxNzXb+SqYM5xPDvOdKSQMI="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools @@ -58,6 +63,8 @@ buildPythonPackage rec { "test_get_project" "test_get_builds" "test_get_build" + # something about aiohttp and url mocking, maybe yarl + "test_get_work_items" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/aiobafi6/default.nix b/pkgs/development/python-modules/aiobafi6/default.nix index 6986e634c95e..18325d9d0ce4 100644 --- a/pkgs/development/python-modules/aiobafi6/default.nix +++ b/pkgs/development/python-modules/aiobafi6/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, poetry-core, protobuf, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, zeroconf, @@ -21,6 +22,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-EXLMrZobSICAmWPREjx5D8boj/S/3AH5+lsWQlTCl1g="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/aioecowitt/default.nix b/pkgs/development/python-modules/aioecowitt/default.nix index 81f42e2bc72e..5478e356a3ba 100644 --- a/pkgs/development/python-modules/aioecowitt/default.nix +++ b/pkgs/development/python-modules/aioecowitt/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, meteocalc, + pyprojectVersionPatchHook, pytest-aiohttp, pytestCheckHook, setuptools, @@ -23,6 +24,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp meteocalc diff --git a/pkgs/development/python-modules/aiofile/default.nix b/pkgs/development/python-modules/aiofile/default.nix index 8122aa00c218..cab97b24e166 100644 --- a/pkgs/development/python-modules/aiofile/default.nix +++ b/pkgs/development/python-modules/aiofile/default.nix @@ -23,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + pythonRelaxDeps = [ + "caio" + ]; + dependencies = [ caio ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/aiohappyeyeballs/default.nix b/pkgs/development/python-modules/aiohappyeyeballs/default.nix index 61403273a997..789d9ae00e67 100644 --- a/pkgs/development/python-modules/aiohappyeyeballs/default.nix +++ b/pkgs/development/python-modules/aiohappyeyeballs/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "aiohappyeyeballs"; - version = "2.7.0"; + version = "2.7.1"; pyproject = true; src = fetchFromGitHub { owner = "bdraco"; repo = "aiohappyeyeballs"; tag = "v${version}"; - hash = "sha256-BqwKo1zZ7CqkUZ9H05fbbHVj/z3m0xaERh5dGBDKFYI="; + hash = "sha256-smpdmmut4wYekVew13KZXluI71lSUdZriPejUumkLNU="; }; outputs = [ diff --git a/pkgs/development/python-modules/aiohasupervisor/default.nix b/pkgs/development/python-modules/aiohasupervisor/default.nix index 4486fd239130..c699d6128ffa 100644 --- a/pkgs/development/python-modules/aiohasupervisor/default.nix +++ b/pkgs/development/python-modules/aiohasupervisor/default.nix @@ -53,6 +53,11 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # mocked url differs with empty query param value vs dropped query param + "test_download_backup" + ]; + pythonImportsCheck = [ "aiohasupervisor" ]; meta = { diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index bd20ca8fc845..4ba9d761e447 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -3,7 +3,6 @@ stdenv, buildPythonPackage, fetchFromGitHub, - replaceVars, isPyPy, pythonOlder, @@ -18,7 +17,6 @@ # dependencies aiohappyeyeballs, aiosignal, - async-timeout, attrs, backports-zstd, frozenlist, @@ -35,7 +33,6 @@ blockbuster, freezegun, gunicorn, - isa-l, isal, proxy-py, pytest-codspeed, @@ -114,8 +111,7 @@ buildPythonPackage (finalAttrs: { blockbuster freezegun gunicorn - # broken on aarch64-darwin - (if lib.meta.availableOn stdenv.hostPlatform isa-l then isal else null) + isal proxy-py pytest-codspeed pytest-cov-stub diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix index df2a318f6ac2..efdbe5a96921 100644 --- a/pkgs/development/python-modules/aiolyric/default.nix +++ b/pkgs/development/python-modules/aiolyric/default.nix @@ -22,6 +22,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-+OYMe63sX5TtvJpNn6dzvnephlhS/MyFXmUerYZqF5A="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix index bcade95a6377..7e2c8e6306d4 100644 --- a/pkgs/development/python-modules/aiomealie/default.nix +++ b/pkgs/development/python-modules/aiomealie/default.nix @@ -8,6 +8,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp awesomeversion diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix index 5e6d1f494344..9aba589e9abe 100644 --- a/pkgs/development/python-modules/aiomusiccast/default.nix +++ b/pkgs/development/python-modules/aiomusiccast/default.nix @@ -19,8 +19,8 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace '"0.0.0"' '"${version}"' + substituteInPlace aiomusiccast/__init__.py \ + --replace-fail '__version__ = "0.0.0"' '__version__ = "${version}"' ''; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index fb4f155688d5..1567fa1b67be 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -8,6 +8,7 @@ fetchFromGitHub, habluetooth, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp bleak-retry-connector diff --git a/pkgs/development/python-modules/aioskybell/default.nix b/pkgs/development/python-modules/aioskybell/default.nix index f5968b3a3ef5..5f8f65031432 100644 --- a/pkgs/development/python-modules/aioskybell/default.nix +++ b/pkgs/development/python-modules/aioskybell/default.nix @@ -12,7 +12,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aioskybell"; version = "23.12.0"; pyproject = true; @@ -20,13 +20,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "tkdrob"; repo = "aioskybell"; - tag = version; + tag = finalAttrs.version; hash = "sha256-5F0B5z0pJLKJPzKIowE07vEgmNXnDVEeGFbPGnJ6H9I="; }; postPatch = '' substituteInPlace setup.py \ - --replace 'version="master",' 'version="${version}",' + --replace 'version="master",' 'version="${finalAttrs.version}",' ''; nativeBuildInputs = [ setuptools ]; @@ -59,4 +59,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/aiotarfile/default.nix b/pkgs/development/python-modules/aiotarfile/default.nix index 6234535a9836..4008a15e1e1b 100644 --- a/pkgs/development/python-modules/aiotarfile/default.nix +++ b/pkgs/development/python-modules/aiotarfile/default.nix @@ -7,6 +7,7 @@ cargo, rustc, rustPlatform, + semver, }: buildPythonPackage rec { @@ -26,6 +27,15 @@ buildPythonPackage rec { hash = "sha256-Yf6N615X9ZB+HDp3xehMc3kjKbdsSbIJrqARRXwCRDQ="; }; + postPatch = '' + patchShebangs release.py + ./release.py finalize + ''; + + build-system = [ + semver # required for release.py + ]; + nativeBuildInputs = [ cargo rustPlatform.cargoSetupHook diff --git a/pkgs/development/python-modules/aiotractive/default.nix b/pkgs/development/python-modules/aiotractive/default.nix index 2182709658d1..6b026d1d7e6f 100644 --- a/pkgs/development/python-modules/aiotractive/default.nix +++ b/pkgs/development/python-modules/aiotractive/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, orjson, + pyprojectVersionPatchHook, setuptools, yarl, }: @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + pythonRelaxDeps = [ "orjson" ]; dependencies = [ diff --git a/pkgs/development/python-modules/aiowaqi/default.nix b/pkgs/development/python-modules/aiowaqi/default.nix index 01fc555be2df..38473486785b 100644 --- a/pkgs/development/python-modules/aiowaqi/default.nix +++ b/pkgs/development/python-modules/aiowaqi/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp yarl diff --git a/pkgs/development/python-modules/aiowebdav2/default.nix b/pkgs/development/python-modules/aiowebdav2/default.nix index 6b557be078ee..9b9a46a38273 100644 --- a/pkgs/development/python-modules/aiowebdav2/default.nix +++ b/pkgs/development/python-modules/aiowebdav2/default.nix @@ -7,6 +7,7 @@ hatchling, lib, lxml, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-W3TdumweNyGz2qDFgSGu+ZPnEpLvWQQ216jER6e4k18="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/aiowithings/default.nix b/pkgs/development/python-modules/aiowithings/default.nix index 5e9e6f7ac3c5..76d29829c716 100644 --- a/pkgs/development/python-modules/aiowithings/default.nix +++ b/pkgs/development/python-modules/aiowithings/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -24,6 +25,10 @@ buildPythonPackage rec { hash = "sha256-YC1rUyPXWbJ/xfUus5a7vw44gw7PIAdwhrUstXB/+nI="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/airgradient/default.nix b/pkgs/development/python-modules/airgradient/default.nix index e54989874a6b..c671ac7aeedd 100644 --- a/pkgs/development/python-modules/airgradient/default.nix +++ b/pkgs/development/python-modules/airgradient/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,8 @@ buildPythonPackage rec { hash = "sha256-llhdLqVueATKCb4wyPYjnsdOpbbE2BnUU0PH0jwHPMU="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/alphaessopenapi/default.nix b/pkgs/development/python-modules/alphaessopenapi/default.nix index 4cb1eef1aaf0..4eae01bd254f 100644 --- a/pkgs/development/python-modules/alphaessopenapi/default.nix +++ b/pkgs/development/python-modules/alphaessopenapi/default.nix @@ -7,7 +7,7 @@ voluptuous, }: buildPythonPackage rec { - pname = "alphaess"; + pname = "alphaessopenapi"; version = "0.0.19"; pyproject = true; @@ -15,7 +15,7 @@ buildPythonPackage rec { owner = "CharlesGillanders"; repo = "alphaess-openAPI"; tag = version; - sha256 = "sha256-wdwA1MIQrkZCT4zIf8WXyq0+F+peC/auVtjDJ8ZZyxE="; + hash = "sha256-wdwA1MIQrkZCT4zIf8WXyq0+F+peC/auVtjDJ8ZZyxE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ancp-bids/default.nix b/pkgs/development/python-modules/ancpbids/default.nix similarity index 97% rename from pkgs/development/python-modules/ancp-bids/default.nix rename to pkgs/development/python-modules/ancpbids/default.nix index 1e0b8e9158c1..fa240945d297 100644 --- a/pkgs/development/python-modules/ancp-bids/default.nix +++ b/pkgs/development/python-modules/ancpbids/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - pname = "ancp-bids"; + pname = "ancpbids"; version = "0.3.1"; pyproject = true; diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix index 2aa45bf41a62..278a5e4de9b4 100644 --- a/pkgs/development/python-modules/anyio/default.nix +++ b/pkgs/development/python-modules/anyio/default.nix @@ -32,14 +32,14 @@ buildPythonPackage rec { pname = "anyio"; - version = "4.14.1"; + version = "4.14.2"; pyproject = true; src = fetchFromGitHub { owner = "agronholm"; repo = "anyio"; tag = version; - hash = "sha256-LPNRNb1RuSVQqsI6aAAiYWC2c2CZAhFS67XW9OfbIiE="; + hash = "sha256-MEU0c8/NI1vlyNtBsg/hGLv6DR619ZqoZzNY1eJLEWM="; }; build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/apischema/default.nix b/pkgs/development/python-modules/apischema/default.nix index e3c2c235c596..54cd670036b3 100644 --- a/pkgs/development/python-modules/apischema/default.nix +++ b/pkgs/development/python-modules/apischema/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, graphql-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest8_3CheckHook, pythonAtLeast, @@ -32,6 +33,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + optional-dependencies = { graphql = [ graphql-core ]; }; diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index 5c91f2217155..60ba742323c7 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -33,6 +33,8 @@ buildPythonPackage rec { postPatch = '' test -f setup.py || mv setup/setup.approvaltests.py setup.py + python3 setup/set_version.py '${version}' + patchShebangs internal_documentation/scripts ''; diff --git a/pkgs/development/python-modules/aspectlib/default.nix b/pkgs/development/python-modules/aspectlib/default.nix index 6cbbac920c55..ce4fabc3b2ef 100644 --- a/pkgs/development/python-modules/aspectlib/default.nix +++ b/pkgs/development/python-modules/aspectlib/default.nix @@ -28,6 +28,12 @@ buildPythonPackage rec { url = "https://github.com/ionelmc/python-aspectlib/commit/ef2c12304f08723dc8e79d1c59bc32c946d758dc.patch"; hash = "sha256-gtPFtwDsGIMkHTyuoiLk+SAGgB2Wyx/Si9HIdoIsvI8="; }) + (fetchpatch { + name = "pluggy-compat.patch"; + url = "https://github.com/ionelmc/python-aspectlib/commit/b85abdb0565d1598ce56bd49d49dc709d4e16081.patch"; + hash = "sha256-hW9xF50RjlrKXyABc69dkiV7YUeee95MnF0J/xQDWd4="; + includes = [ "tests/conftest.py" ]; + }) ]; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/aspell-python/default.nix b/pkgs/development/python-modules/aspell-python-py3/default.nix similarity index 97% rename from pkgs/development/python-modules/aspell-python/default.nix rename to pkgs/development/python-modules/aspell-python-py3/default.nix index 4bc47fe3bd51..a7ed13759267 100644 --- a/pkgs/development/python-modules/aspell-python/default.nix +++ b/pkgs/development/python-modules/aspell-python-py3/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - pname = "aspell-python"; + pname = "aspell-python-py3"; version = "1.15"; pyproject = true; diff --git a/pkgs/development/python-modules/ast-serialize/default.nix b/pkgs/development/python-modules/ast-serialize/default.nix index 0ce8d6d2a3f4..3b47ae8a1508 100644 --- a/pkgs/development/python-modules/ast-serialize/default.nix +++ b/pkgs/development/python-modules/ast-serialize/default.nix @@ -7,19 +7,19 @@ buildPythonPackage (finalAttrs: { pname = "ast-serialize"; - version = "0.5.0"; + version = "0.6.0"; pyproject = true; src = fetchFromGitHub { owner = "mypyc"; repo = "ast_serialize"; tag = "v${finalAttrs.version}"; - hash = "sha256-GmhbMraI16J6ePtn7lXAWaJ+9zDH1GdebKIAzm5w9ok="; + hash = "sha256-7MNtry/GDUpjuh/rMB+R4wAQpPAG/yLNGqH4tEyK7tw="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-h+BklNeoQaRVWczsE9sFXgvFrnHW5vjWOVaOvLghv0U="; + hash = "sha256-iw1qkQoagmS+8e9znEEo4EZocu+ECL4c+egBY2TOrk0="; }; build-system = [ diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix index 0403878fb70e..23957f31892e 100644 --- a/pkgs/development/python-modules/astroid/default.nix +++ b/pkgs/development/python-modules/astroid/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "astroid"; - version = "4.0.3"; # Check whether the version is compatible with pylint + version = "4.2.0"; # Check whether the version is compatible with pylint pyproject = true; src = fetchFromGitHub { owner = "PyCQA"; repo = "astroid"; tag = "v${finalAttrs.version}"; - hash = "sha256-5p1xY6EWviSgmrLVOx3w7RcG/Vpx+sUtVndoxXrIFTQ="; + hash = "sha256-PwKGAk9tiQzxWydEREg0l0cF4J56SNRwhGRCVjmRoCo="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/astropy-healpix/default.nix b/pkgs/development/python-modules/astropy-healpix/default.nix index 261309e70c68..82131eb28075 100644 --- a/pkgs/development/python-modules/astropy-healpix/default.nix +++ b/pkgs/development/python-modules/astropy-healpix/default.nix @@ -42,6 +42,10 @@ buildPythonPackage (finalAttrs: { hypothesis ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = lib.optional (!stdenv.hostPlatform.isDarwin) "test_interpolate_bilinear_skycoord"; # tests must be run in the build directory diff --git a/pkgs/development/python-modules/asttokens/default.nix b/pkgs/development/python-modules/asttokens/default.nix index e58acfa977d5..3116c1bfda04 100644 --- a/pkgs/development/python-modules/asttokens/default.nix +++ b/pkgs/development/python-modules/asttokens/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "asttokens"; - version = "3.0.1"; + version = "3.0.2"; pyproject = true; src = fetchFromGitHub { owner = "gristlabs"; repo = "asttokens"; tag = "v${version}"; - hash = "sha256-1qkkNpjX89TmGD0z0KA2y+UbiHuEOaXzZ6hs9nw7EeM="; + hash = "sha256-qdjfhcU1Of07hEY9HZ8qUofPoYBixE4RnIohYMQWsqU="; }; build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/asyncclick/default.nix b/pkgs/development/python-modules/asyncclick/default.nix index 11508f2eedf9..81a172bcfaf1 100644 --- a/pkgs/development/python-modules/asyncclick/default.nix +++ b/pkgs/development/python-modules/asyncclick/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "asyncclick"; - version = "8.3.0.5+async"; + version = "8.3.0.5"; pyproject = true; src = fetchFromGitHub { owner = "python-trio"; repo = "asyncclick"; - tag = version; + tag = "${version}+async"; hash = "sha256-gKtxwI/vDB2pDrhiA+e1TClwW5nXvBRCMF3oCNoLaDo="; }; @@ -31,6 +31,7 @@ buildPythonPackage rec { pytestFlags = [ "-Wignore::trio.TrioDeprecationWarning" + "-Wignore::pytest.PytestRemovedIn10Warning" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/aurorapy/default.nix b/pkgs/development/python-modules/aurorapy/default.nix index b7e82bc72c64..e9f6d41c2ff8 100644 --- a/pkgs/development/python-modules/aurorapy/default.nix +++ b/pkgs/development/python-modules/aurorapy/default.nix @@ -21,6 +21,9 @@ buildPythonPackage (finalAttrs: { }; postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="0.2.7"' 'version="${finalAttrs.version}"' + sed -i "/from past.builtins import map/d" aurorapy/client.py ''; diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix index 566fbc9c7663..88b4b7d38b28 100644 --- a/pkgs/development/python-modules/awesomeversion/default.nix +++ b/pkgs/development/python-modules/awesomeversion/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, pytest-codspeed, pytest-snapshot, pytestCheckHook, @@ -20,13 +21,12 @@ buildPythonPackage rec { hash = "sha256-2CEuJagUkYwtjzpQLYLlz+V5e2feEU6di3wI0+uWuy4="; }; - postPatch = '' + nativeBuildInputs = [ # Upstream doesn't set a version - substituteInPlace pyproject.toml \ - --replace-fail 'version = "0"' 'version = "${version}"' - ''; + pyprojectVersionPatchHook + ]; - nativeBuildInputs = [ hatchling ]; + build-system = [ hatchling ]; pythonImportsCheck = [ "awesomeversion" ]; diff --git a/pkgs/development/python-modules/awsiotpythonsdk/default.nix b/pkgs/development/python-modules/awsiotpythonsdk/default.nix index fa6e8cffbd07..2065675dc226 100644 --- a/pkgs/development/python-modules/awsiotpythonsdk/default.nix +++ b/pkgs/development/python-modules/awsiotpythonsdk/default.nix @@ -17,6 +17,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Jwj07yAl9LrHRy1y3cjipObqEcwP+j+a5dcvXj02kgA="; }; + postPatch = '' + substituteInPlace AWSIoTPythonSDK/__init__.py \ + --replace-fail '__version__ = "1.5.4"' '__version__ = "${finalAttrs.version}"' + ''; + nativeBuildInputs = [ setuptools ]; # Module has no tests diff --git a/pkgs/development/python-modules/azure-eventhub/default.nix b/pkgs/development/python-modules/azure-eventhub/default.nix index 16b464e25073..0d3b8456d40b 100644 --- a/pkgs/development/python-modules/azure-eventhub/default.nix +++ b/pkgs/development/python-modules/azure-eventhub/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "azure-eventhub"; - version = "39.0.0"; + version = "5.15.0"; pyproject = true; src = fetchFromGitHub { owner = "Azure"; repo = "azure-sdk-for-python"; - tag = "azure-mgmt-containerservice_${version}"; - hash = "sha256-zufXc8LR4STHi/jjV0bcLsifcHIif2m+3Q/KZlsSkRw="; + tag = "azure-eventhub_${version}"; + hash = "sha256-zpj1DUeFCXgVw44LcBCYtuFcQtA9BnrDKAxKSYzu4ts="; }; sourceRoot = "${src.name}/sdk/eventhub/azure-eventhub"; diff --git a/pkgs/development/python-modules/backports-zstd/default.nix b/pkgs/development/python-modules/backports-zstd/default.nix index db294f3527d7..0655b8d52181 100644 --- a/pkgs/development/python-modules/backports-zstd/default.nix +++ b/pkgs/development/python-modules/backports-zstd/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "backports-zstd"; - version = "1.5.0"; + version = "1.6.0"; pyproject = true; src = fetchFromGitHub { @@ -20,7 +20,7 @@ buildPythonPackage rec { postFetch = '' rm -r "$out/src/c/zstd" ''; - hash = "sha256-0FGYh6o26oeovZ23VYKmmY2nNzDHXIKU8/lBqUxuGQw="; + hash = "sha256-UvQbyBROWRT7KfiYLPd7e/P98AaRqvJm/u17HeoOHnE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/beautifulsoup4/default.nix b/pkgs/development/python-modules/beautifulsoup4/default.nix index b32ee083f165..ea5e40f84a96 100644 --- a/pkgs/development/python-modules/beautifulsoup4/default.nix +++ b/pkgs/development/python-modules/beautifulsoup4/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { pname = "beautifulsoup4"; - version = "4.14.3"; + version = "4.15.0"; pyproject = true; outputs = [ @@ -45,18 +45,9 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - hash = "sha256-YpKxxRhtNWu6Zp759/BRdXCZVlrZraXdYwvZ3l+n+4Y="; + hash = "sha256-KI48p9VLBvKsGRlwvCdcGTnLRtRQslW/ZxiwSqN6tPc="; }; - patches = [ - # Fix tests with python 3.13.10 / 3.14.1 - (fetchpatch { - url = "https://git.launchpad.net/beautifulsoup/patch/?id=55f655ffb7ef03bdd1df0f013743831fe54e3c7a"; - excludes = [ "CHANGELOG" ]; - hash = "sha256-DJl1pey0NdJH+SyBH9+y6gwUvQCmou0D9xcRAEV8OBw="; - }) - ]; - build-system = [ hatchling ]; nativeBuildInputs = [ sphinxHook ]; diff --git a/pkgs/development/python-modules/bencode-py/default.nix b/pkgs/development/python-modules/bencode-py/default.nix index 5d1293e6e9e5..0f0c09680d8a 100644 --- a/pkgs/development/python-modules/bencode-py/default.nix +++ b/pkgs/development/python-modules/bencode-py/default.nix @@ -7,7 +7,7 @@ pytestCheckHook, }: buildPythonPackage (finalAttrs: { - pname = "beconde-py"; + pname = "bencode-py"; version = "4.0.0"; pyproject = true; diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix index 69200ec70f9c..24afb3317fcb 100644 --- a/pkgs/development/python-modules/bleach/default.nix +++ b/pkgs/development/python-modules/bleach/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "bleach"; - version = "6.3.0"; + version = "6.4.0"; pyproject = true; src = fetchFromGitHub { owner = "mozilla"; repo = "bleach"; tag = "v${finalAttrs.version}"; - hash = "sha256-a85gLy0Ix4cWvXY0s3m+ZD+ga7en6bYu1iAA22OaSwk="; + hash = "sha256-2HcJIxmH78TIE4q481OZPL5ZempMqka6OChEv+BFctY="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/blobfile/default.nix b/pkgs/development/python-modules/blobfile/default.nix index 7f8d1f818cca..432df8f753ad 100644 --- a/pkgs/development/python-modules/blobfile/default.nix +++ b/pkgs/development/python-modules/blobfile/default.nix @@ -11,7 +11,7 @@ buildPythonPackage (finalAttrs: { pname = "blobfile"; - version = "3.1.0"; + version = "3.2.0"; pyproject = true; __structuredAttrs = true; @@ -20,7 +20,7 @@ buildPythonPackage (finalAttrs: { owner = "christopher-hesse"; repo = "blobfile"; tag = "v${finalAttrs.version}"; - hash = "sha256-aTHEJ1P+v9IWXPg9LN+KG1TlEVJh0qTl8J41iWpoPWk="; + hash = "sha256-6WECMS05upC+M81EtOlEs1K3NKD/z073PqutA/OCMiE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/blockbuster/default.nix b/pkgs/development/python-modules/blockbuster/default.nix index a0a488897912..f639ce3d1359 100644 --- a/pkgs/development/python-modules/blockbuster/default.nix +++ b/pkgs/development/python-modules/blockbuster/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "blockbuster"; - version = "1.5.25"; + version = "1.5.26"; pyproject = true; src = fetchFromGitHub { owner = "cbornet"; repo = "blockbuster"; tag = "v${version}"; - hash = "sha256-1+Q1IdJXqLAy7kIcVU38TC3dtMeWAn7YOLyGrjCkxD0="; + hash = "sha256-2p1xKThna33nhT3rkp1kfZPVkzsJd42OPs3cHenizJs="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/bluecurrent-api/default.nix b/pkgs/development/python-modules/bluecurrent-api/default.nix index 5d66b378581f..b9cc22101da9 100644 --- a/pkgs/development/python-modules/bluecurrent-api/default.nix +++ b/pkgs/development/python-modules/bluecurrent-api/default.nix @@ -5,6 +5,7 @@ setuptools, pytz, websockets, + pyprojectVersionPatchHook, pytest-asyncio, pytest-mock, pytestCheckHook, @@ -22,6 +23,10 @@ buildPythonPackage rec { hash = "sha256-px4kZOvMUP5aGOQ1uxWnY6w77Woie/hVVdyylW8uSX4="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index b1a0a3470c68..1c25f62293ab 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, freezegun, dacite, + pyprojectVersionPatchHook, pysnmp, pytest-asyncio, pytest-error-for-skips, @@ -27,6 +28,10 @@ buildPythonPackage rec { hash = "sha256-7m0fakQCckIpG8Tc09P81xzHlIgeal9L2BwerUvBuX8="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/build/default.nix b/pkgs/development/python-modules/build/default.nix index 194e56dd34f9..a422cbfd6dd0 100644 --- a/pkgs/development/python-modules/build/default.nix +++ b/pkgs/development/python-modules/build/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "build"; - version = "1.5.0"; + version = "1.5.1"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "build"; tag = version; - hash = "sha256-Kxqqh9HfNC28CxFHzVkNVzqNM8MVkLgkaCU2jxpjceA="; + hash = "sha256-vm47wuSEKfU4CjonokylTyGe62jGS/5m2dhLKhY5TPc="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/bumble/default.nix b/pkgs/development/python-modules/bumble/default.nix index b19ce91259b4..6f4e267702ab 100644 --- a/pkgs/development/python-modules/bumble/default.nix +++ b/pkgs/development/python-modules/bumble/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "bumble"; - version = "0.0.232"; + version = "0.0.233"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "bumble"; tag = "v${version}"; - hash = "sha256-NT8WNfkYHorjNfsZWry63Uuxk7zyOQDOHTqxZxJNypI="; + hash = "sha256-WTikxDp+V+H2RPN+myWg+CRgqncJY5v3zhwotfa8CCU="; }; build-system = [ diff --git a/pkgs/development/python-modules/cachetools/default.nix b/pkgs/development/python-modules/cachetools/default.nix index cfb384d074e3..d4e0a5e56905 100644 --- a/pkgs/development/python-modules/cachetools/default.nix +++ b/pkgs/development/python-modules/cachetools/default.nix @@ -3,22 +3,26 @@ buildPythonPackage, fetchFromGitHub, setuptools, + setuptools-scm, pytestCheckHook, }: buildPythonPackage rec { pname = "cachetools"; - version = "6.2.4"; + version = "7.1.4"; pyproject = true; src = fetchFromGitHub { owner = "tkem"; repo = "cachetools"; tag = "v${version}"; - hash = "sha256-LlDyrjiRYCD9btDl5NA0Seb3jk3hlpNhwu0jAQp9YZE="; + hash = "sha256-zgIUNzDVQMBjaaEitD3ACVd8ZXCeXu3MBTEapzH5sSY="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/caio/default.nix b/pkgs/development/python-modules/caio/default.nix index 897dbf76fee8..dd6b035a8c9c 100644 --- a/pkgs/development/python-modules/caio/default.nix +++ b/pkgs/development/python-modules/caio/default.nix @@ -20,6 +20,13 @@ buildPythonPackage (finalAttrs: { hash = "sha256-IeyksrYpLMc9PJjpYeaOgLx26CeVMoR/3r2RX66ucDs="; }; + postPatch = '' + substituteInPlace caio/version.py \ + --replace-fail 'version_info = (0, 9, 25)' 'version_info = (${ + lib.replaceString "." ", " finalAttrs.version + })' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix index 057a14eb3a5f..72e464c69ee0 100644 --- a/pkgs/development/python-modules/caldav/default.nix +++ b/pkgs/development/python-modules/caldav/default.nix @@ -7,7 +7,7 @@ icalendar-searcher, lxml, manuel, - pytestCheckHook, + pytest9_0CheckHook, python, radicale, recurring-ical-events, @@ -59,7 +59,7 @@ buildPythonPackage rec { proxy-py pyfakefs pytest-asyncio - pytestCheckHook + pytest9_0CheckHook (toPythonModule (radicale.override { python3 = python; })) tzlocal vobject diff --git a/pkgs/development/python-modules/calmjs-types/default.nix b/pkgs/development/python-modules/calmjs-types/default.nix index 1f0d792b4c1d..23385164f450 100644 --- a/pkgs/development/python-modules/calmjs-types/default.nix +++ b/pkgs/development/python-modules/calmjs-types/default.nix @@ -3,12 +3,13 @@ fetchPypi, buildPythonPackage, pytestCheckHook, + setuptools, }: buildPythonPackage rec { pname = "calmjs-types"; version = "1.0.1"; - format = "setuptools"; + pyproject = true; src = fetchPypi { pname = "calmjs.types"; @@ -17,11 +18,14 @@ buildPythonPackage rec { extension = "zip"; }; + build-system = [ setuptools ]; + checkInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "calmjs.types" ]; meta = { + broken = lib.versionAtLeast setuptools.version "82"; description = "Types for the calmjs framework"; homepage = "https://github.com/calmjs/calmjs.types"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/cattrs/default.nix b/pkgs/development/python-modules/cattrs/default.nix index eda3af75cb68..255ea87bec76 100644 --- a/pkgs/development/python-modules/cattrs/default.nix +++ b/pkgs/development/python-modules/cattrs/default.nix @@ -12,27 +12,34 @@ msgpack, msgspec, orjson, + pymongo, pytest-xdist, pytestCheckHook, - pythonAtLeast, pyyaml, + tomli-w, tomlkit, typing-extensions, ujson, + writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cattrs"; - version = "25.3.0"; + version = "26.1.0"; pyproject = true; src = fetchFromGitHub { owner = "python-attrs"; repo = "cattrs"; - tag = "v${version}"; - hash = "sha256-6oQblSanvSZOMD5ossCP7fNjyxF54SRbU1cQrW1I5Ps="; + tag = "v${finalAttrs.version}"; + hash = "sha256-i1C7TvtQhiEZPi4YELxPHkiz33nNw2rtgRTqs98PVlc="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5 --benchmark-group-by=fullname" "" + ''; + build-system = [ hatchling hatch-vcs @@ -43,57 +50,58 @@ buildPythonPackage rec { typing-extensions ]; + optional-dependencies = { + ujson = [ + ujson + ]; + orjson = [ + orjson + ]; + msgpack = [ + msgpack + ]; + pyyaml = [ + pyyaml + ]; + tomlkit = [ + tomlkit + ]; + cbor2 = [ + cbor2 + ]; + bson = [ + pymongo + ]; + msgspec = [ + msgspec + ]; + tomllib = [ + tomli-w + ]; + }; + nativeCheckInputs = [ - cbor2 hypothesis immutables motor - msgpack - msgspec - orjson pytest-xdist pytestCheckHook - pyyaml - tomlkit - ujson - ]; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5 --benchmark-group-by=fullname" "" - substituteInPlace tests/test_preconf.py \ - --replace-fail "from orjson import dumps as orjson_dumps" "" \ - --replace-fail "from orjson import loads as orjson_loads" "" - ''; - - preCheck = '' - export HOME=$(mktemp -d); - ''; + writableTmpDirAsHomeHook + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; disabledTestPaths = [ # Don't run benchmarking tests "bench" ]; - disabledTests = [ - # orjson is not available as it requires Rust nightly features to compile its requirements - "test_orjson" - # msgspec causes a segmentation fault for some reason - "test_simple_classes" - "test_msgspec_json_converter" - ] - ++ lib.optionals (pythonAtLeast "3.13") [ - # https://github.com/python-attrs/cattrs/pull/543 - "test_unstructure_deeply_nested_generics_list" - ]; - pythonImportsCheck = [ "cattr" ]; meta = { + changelog = "https://github.com/python-attrs/cattrs/blob/${finalAttrs.src.tag}/HISTORY.md"; description = "Python custom class converters for attrs"; homepage = "https://github.com/python-attrs/cattrs"; - changelog = "https://github.com/python-attrs/cattrs/blob/${src.tag}/HISTORY.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/cbor2/default.nix b/pkgs/development/python-modules/cbor2/default.nix index 2d64160724b3..fe400c474984 100644 --- a/pkgs/development/python-modules/cbor2/default.nix +++ b/pkgs/development/python-modules/cbor2/default.nix @@ -1,28 +1,52 @@ { lib, buildPythonPackage, - fetchPypi, + cargo, + fetchFromGitHub, hypothesis, pytest-cov-stub, pytestCheckHook, - setuptools-scm, + rustc, + rustPlatform, setuptools, + setuptools-rust, + setuptools-scm, withCExtensions ? true, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cbor2"; - version = "5.8.0"; + version = "6.1.3"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-sZw1/K6WiKwB73W61dsnMAwlN+tO4A7QfgXYRWoNSTE="; + src = fetchFromGitHub { + owner = "agronholm"; + repo = "cbor2"; + tag = finalAttrs.version; + hash = "sha256-DAhMoWZ820bfa7u+Mu+uqQ+ci+ibxQGwP70t4eOCHg8="; }; + cargoRoot = "rust"; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) + pname + version + src + cargoRoot + ; + hash = "sha256-L9aYpPNGWf8h/NCjDwj5qper9sMSTCxPL91eIbb4hw0="; + }; + + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + ]; + build-system = [ setuptools setuptools-scm + setuptools-rust ]; nativeCheckInputs = [ @@ -43,11 +67,11 @@ buildPythonPackage rec { meta = { description = "Python CBOR (de)serializer with extensive tag support"; - changelog = "https://github.com/agronholm/cbor2/releases/tag/${version}"; + changelog = "https://github.com/agronholm/cbor2/releases/tag/${finalAttrs.src.tag}"; homepage = "https://github.com/agronholm/cbor2"; license = lib.licenses.mit; maintainers = [ ]; mainProgram = "cbor2"; }; -} +}) diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index ad10bfb612cd..0f6863e1fd00 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -197,6 +197,9 @@ buildPythonPackage (finalAttrs: { # Flaky: Unclosed temporary file handle under heavy load (as in nixpkgs-review) "test_check_privileges_without_c_force_root_and_no_group_entry" + + # click 8.4 error message flag quoting changes + "test_preload_options" ] ++ lib.optionals (lib.versionAtLeast django.version "6.0") [ "test_is_pickled" diff --git a/pkgs/development/python-modules/certauth/default.nix b/pkgs/development/python-modules/certauth/default.nix index 14368d65e608..d3ae86b61e22 100644 --- a/pkgs/development/python-modules/certauth/default.nix +++ b/pkgs/development/python-modules/certauth/default.nix @@ -49,6 +49,7 @@ buildPythonPackage { ]; meta = { + broken = lib.versionAtLeast pyopenssl.version "26.3"; description = "Simple CertificateAuthority and host certificate creation, useful for man-in-the-middle HTTPS proxy"; mainProgram = "certauth"; homepage = "https://github.com/ikreymer/certauth"; diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index 2f1d3be1e64d..ef37d8952751 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "certifi"; - version = "2026.04.22"; + version = "2026.06.17"; pyproject = true; src = fetchFromGitHub { owner = "certifi"; repo = "python-certifi"; tag = finalAttrs.version; - hash = "sha256-bGeOrYd7ZUG0VIbgRiYIBK3JDRC5wpST5IrFHyWO/cg="; + hash = "sha256-/Jg/tNYuZtL3YeCzPUwP0phLfkHiLxiWbPfby05XKw4="; }; patches = [ diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index 8be0bfc0872d..39c0aed75292 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "cffi"; - version = "2.0.0"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "python-cffi"; repo = "cffi"; tag = "v${version}"; - hash = "sha256-7Mzz3KmmmE2xQru1GA4aY0DZqn6vxykWiExQvnA1bjM="; + hash = "sha256-17OgcPo1pYwsPV/2iHe7iXVusCp5zLTFGcHYUfX1g48="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/python-modules/cgal/default.nix b/pkgs/development/python-modules/cgal/default.nix index aedab3c3c09f..900acd45ed52 100644 --- a/pkgs/development/python-modules/cgal/default.nix +++ b/pkgs/development/python-modules/cgal/default.nix @@ -42,6 +42,8 @@ buildPythonPackage rec { hash = "sha256-MnUsl4ozMamKcQ13TV6mtoG7VKq8BuiDSIVq1RPn2rs="; }; + env.CGAL_PYTHON_MODULE_VERSION = version; + dontUseCmakeConfigure = true; build-system = [ diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix index 7454c0643eb1..54cc26122485 100644 --- a/pkgs/development/python-modules/charset-normalizer/default.nix +++ b/pkgs/development/python-modules/charset-normalizer/default.nix @@ -14,19 +14,19 @@ buildPythonPackage rec { pname = "charset-normalizer"; - version = "3.4.7"; + version = "3.4.9"; pyproject = true; src = fetchFromGitHub { owner = "jawah"; repo = "charset_normalizer"; tag = version; - hash = "sha256-dOdJ4f98smCYdskp3BwtQG6aOyK+2a73+x580FKRWDk="; + hash = "sha256-YOskF90ach/qEwnMeYDEEO2H4DOoz/LZApXDRU9mvnM="; }; postPatch = '' substituteInPlace _mypyc_hook/backend.py \ - --replace-fail "mypy>=1.4.1,<=1.20" "mypy" + --replace-fail "mypy>=1.4.1,<2.2" "mypy" ''; build-system = [ diff --git a/pkgs/development/python-modules/chroma-hnswlib/default.nix b/pkgs/development/python-modules/chroma-hnswlib/default.nix index 4deccaccc2af..85f76789a636 100644 --- a/pkgs/development/python-modules/chroma-hnswlib/default.nix +++ b/pkgs/development/python-modules/chroma-hnswlib/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-Fs/BuocZblMSlmP6yp+aykbs0n1AdvL3AVAQI1AnZ9o="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail '__version__ = "0.7.6"' '__version__ = "${version}"' + ''; + nativeBuildInputs = [ numpy pybind11 diff --git a/pkgs/development/python-modules/clang/default.nix b/pkgs/development/python-modules/clang/default.nix index 1f6e2103034f..58f054c893e3 100644 --- a/pkgs/development/python-modules/clang/default.nix +++ b/pkgs/development/python-modules/clang/default.nix @@ -4,6 +4,7 @@ llvmPackages, setuptools, writeText, + pytestCheckHook, }: let @@ -51,6 +52,10 @@ buildPythonPackage { echo 'Config.set_library_path("${lib.getLib libclang}/lib")' >>./clang/cindex.py ''; + nativeCheckInputs = [ + pytestCheckHook + ]; + meta = libclang.meta // { description = "Python bindings for the C language family frontend for LLVM"; maintainers = [ ]; diff --git a/pkgs/development/python-modules/click/default.nix b/pkgs/development/python-modules/click/default.nix index 13e65aa099c8..4f70e192501d 100644 --- a/pkgs/development/python-modules/click/default.nix +++ b/pkgs/development/python-modules/click/default.nix @@ -30,6 +30,10 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = [ # for some reason the tests fail to execute cat, even though they run with less just fine, # even adding coreutils to nativeCheckInputs explicitly does not change anything diff --git a/pkgs/development/python-modules/cloup/default.nix b/pkgs/development/python-modules/cloup/default.nix index 3c932709ae66..da7da13f6665 100644 --- a/pkgs/development/python-modules/cloup/default.nix +++ b/pkgs/development/python-modules/cloup/default.nix @@ -17,6 +17,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Y3weYo/pjz8gpeRNpZGnK0K/VNfUUnGQvzntX2SvdYU="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "setuptools_scm<10" setuptools_scm + ''; + build-system = [ setuptools-scm ]; dependencies = [ click ]; diff --git a/pkgs/development/python-modules/compressed-rtf/default.nix b/pkgs/development/python-modules/compressed-rtf/default.nix index acd0efdfc47a..022475c9073c 100644 --- a/pkgs/development/python-modules/compressed-rtf/default.nix +++ b/pkgs/development/python-modules/compressed-rtf/default.nix @@ -6,7 +6,7 @@ setuptools, }: -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "compressed-rtf"; version = "1.0.7"; pyproject = true; @@ -14,12 +14,11 @@ buildPythonPackage { src = fetchFromGitHub { owner = "delimitry"; repo = "compressed_rtf"; - # https://github.com/delimitry/compressed_rtf/issues/15 - rev = "581400c1b4c69ab0d944cfb5ca82c32059bbcc96"; - hash = "sha256-ivvND+cOCAmRyO8yL0+WhFY/2OkrJ+E/o4xWWd7ivHA="; + tag = finalAttrs.version; + hash = "sha256-eQ1rX+IyQG6oStd+ELIMNJ3EjTKJTA3tHzuxdIuKgGs="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -28,9 +27,10 @@ buildPythonPackage { enabledTestPaths = [ "tests/tests.py" ]; meta = { + changelog = "https://github.com/delimitry/compressed_rtf/releases/tag/${finalAttrs.src.tag}"; description = "Compressed Rich Text Format (RTF) compression and decompression"; homepage = "https://github.com/delimitry/compressed_rtf"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/cramjam/default.nix b/pkgs/development/python-modules/cramjam/default.nix index ab99527d534b..ea49c4ed2379 100644 --- a/pkgs/development/python-modules/cramjam/default.nix +++ b/pkgs/development/python-modules/cramjam/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, rustPlatform, # tests @@ -28,9 +29,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-evXYLbv+GwSBUJBb0upjQTFtMPdQbKka8KfJltMUmDs="; }; - nativeBuildInputs = with rustPlatform; [ - cargoSetupHook - maturinBuildHook + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + pyprojectVersionPatchHook ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/cross-web/default.nix b/pkgs/development/python-modules/cross-web/default.nix index 827ce4c250ff..86e7981a9d8e 100644 --- a/pkgs/development/python-modules/cross-web/default.nix +++ b/pkgs/development/python-modules/cross-web/default.nix @@ -10,6 +10,7 @@ hatchling, httpx, litestar, + pyprojectVersionPatchHook, pytest-asyncio, pytest-django, pytestCheckHook, @@ -35,6 +36,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-JxwzTU17jCQMFNCtmcZVAZQnwDZjHNxCGNdKhkCMoPs="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ typing-extensions ]; @@ -65,6 +70,11 @@ buildPythonPackage (finalAttrs: { ] ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; + pytestFlags = [ + # Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead. + "-Wignore::starlette.exceptions.StarletteDeprecationWarning" + ]; + pythonImportsCheck = [ "cross_web" ]; preCheck = '' diff --git a/pkgs/development/python-modules/cwsandbox/default.nix b/pkgs/development/python-modules/cwsandbox/default.nix index 33f1ddd727c6..cfba92ff6376 100644 --- a/pkgs/development/python-modules/cwsandbox/default.nix +++ b/pkgs/development/python-modules/cwsandbox/default.nix @@ -16,6 +16,7 @@ # tests pytest-asyncio, + pytest-dotenv, pytestCheckHook, }: @@ -55,6 +56,7 @@ buildPythonPackage (finalAttrs: { nativeCheckInputs = [ pytest-asyncio + pytest-dotenv pytestCheckHook ] ++ finalAttrs.passthru.optional-dependencies.cli; diff --git a/pkgs/development/python-modules/cx-logging/default.nix b/pkgs/development/python-modules/cx-logging/default.nix index cda1235ed4d3..b8809fde80dc 100644 --- a/pkgs/development/python-modules/cx-logging/default.nix +++ b/pkgs/development/python-modules/cx-logging/default.nix @@ -22,6 +22,8 @@ buildPythonPackage (finalAttrs: { postPatch = '' substituteInPlace pyproject.toml \ --replace-fail "setuptools>=70.1,<75" "setuptools" + + echo '${finalAttrs.version}' > VERSION '' # The flag -soname isn't recognized by the linker on darwin. Only -install_name is valid. + lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/development/python-modules/dacite/default.nix b/pkgs/development/python-modules/dacite/default.nix index ed4bc835a634..1a323d7b709e 100644 --- a/pkgs/development/python-modules/dacite/default.nix +++ b/pkgs/development/python-modules/dacite/default.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch, buildPythonPackage, pytestCheckHook, pythonAtLeast, @@ -19,6 +20,14 @@ buildPythonPackage rec { hash = "sha256-mAPqWvBpkTbtzHpwtCSDXMNkoc8/hbRH3OIEeK2yStU="; }; + patches = [ + (fetchpatch { + name = "fix-version-in-setup.py.patch"; + url = "https://github.com/konradhalas/dacite/commit/daad7e4a15569321d3cf118f8083a71a65d7e044.patch"; + hash = "sha256-5udIgEf2P9SCZVGnPg/rMtFtkPJyLw9RWvVO47BddK8="; + }) + ]; + postPatch = '' substituteInPlace pyproject.toml \ --replace "--benchmark-autosave --benchmark-json=benchmark.json" "" diff --git a/pkgs/development/python-modules/dataclasses-serialization/default.nix b/pkgs/development/python-modules/dataclasses-serialization/default.nix deleted file mode 100644 index f9b05df532cd..000000000000 --- a/pkgs/development/python-modules/dataclasses-serialization/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - more-properties, - typing-inspect, - toolz, - toposort, - bson, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "dataclasses-serialization"; - version = "1.3.1"; - - # upstream requires >= 3.6 but only 3.7 includes dataclasses - - format = "setuptools"; - - src = fetchFromGitHub { - owner = "madman-bob"; - repo = "python-dataclasses-serialization"; - rev = version; - hash = "sha256-jLMR2D01KgzHHRP0zduMBJt8xgBmIquWLCjZYLo2/AA="; - }; - - postPatch = '' - mv pypi_upload/setup.py . - substituteInPlace setup.py \ - --replace "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]" - - # https://github.com/madman-bob/python-dataclasses-serialization/issues/16 - sed -i '/(\(Dict\|List\)/d' tests/test_json.py tests/test_bson.py - ''; - - # dataclasses is included in Python 3.7 - pythonRemoveDeps = [ "dataclasses" ]; - - propagatedBuildInputs = [ - more-properties - typing-inspect - toolz - toposort - ]; - - nativeCheckInputs = [ - bson - pytestCheckHook - ]; - - pythonImportsCheck = [ - "dataclasses_serialization.bson" - "dataclasses_serialization.json" - "dataclasses_serialization.serializer_base" - ]; - - meta = { - description = "Serialize/deserialize Python dataclasses to various other data formats"; - homepage = "https://github.com/madman-bob/python-dataclasses-serialization"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/development/python-modules/datamodel-code-generator/default.nix b/pkgs/development/python-modules/datamodel-code-generator/default.nix index 03a7611f9453..f7d11b92ee19 100644 --- a/pkgs/development/python-modules/datamodel-code-generator/default.nix +++ b/pkgs/development/python-modules/datamodel-code-generator/default.nix @@ -3,15 +3,21 @@ argcomplete, black, buildPythonPackage, + email-validator, fetchFromGitHub, genson, graphql-core, + grpcio-tools, hatch-vcs, hatchling, httpx, + hypothesis, + hypothesis-jsonschema, inflect, inline-snapshot, isort, + jsonschema, + msgspec, jinja2, openapi-spec-validator, packaging, @@ -20,6 +26,8 @@ pydantic, pysnooper, pytest-mock, + pytest-timeout, + pytest-xdist, pytestCheckHook, pyyaml, time-machine, @@ -28,14 +36,14 @@ buildPythonPackage rec { pname = "datamodel-code-generator"; - version = "0.55.0"; + version = "0.68.1"; pyproject = true; src = fetchFromGitHub { owner = "koxudaxi"; repo = "datamodel-code-generator"; tag = version; - hash = "sha256-zsLJv7gKhmnEIS/AUvnBzm+07QFQoMdiFo/PkfRyHek="; + hash = "sha256-fYnI7S4FJ927qZXyAsWQzxhLTrcpscYqJunmcSt/gkk="; }; pythonRelaxDeps = [ @@ -65,6 +73,7 @@ buildPythonPackage rec { debug = [ pysnooper ]; graphql = [ graphql-core ]; http = [ httpx ]; + protobuf = [ grpcio-tools ]; ruff = [ ruff ]; validation = [ openapi-spec-validator @@ -76,20 +85,31 @@ buildPythonPackage rec { }; nativeCheckInputs = [ + email-validator inline-snapshot + hypothesis + hypothesis-jsonschema + jsonschema + msgspec pytest-mock + pytest-timeout + pytest-xdist pytestCheckHook time-machine ] ++ optional-dependencies.all; - pythonImportsCheck = [ "datamodel_code_generator" ]; + pytestFlags = [ + "--maxfail=2" + ]; disabledTests = [ # remote testing, name resolution failure. "test_openapi_parser_parse_remote_ref" ]; + pythonImportsCheck = [ "datamodel_code_generator" ]; + meta = { description = "Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources"; homepage = "https://github.com/koxudaxi/datamodel-code-generator"; diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix index b0d90c7a5cdc..1bddfbd4d13e 100644 --- a/pkgs/development/python-modules/decorator/default.nix +++ b/pkgs/development/python-modules/decorator/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "decorator"; - version = "5.2.1"; + version = "5.3.1"; pyproject = true; src = fetchFromGitHub { owner = "micheles"; repo = "decorator"; tag = version; - hash = "sha256-UBjZ8LdgJ6iLBjNTlA3up0qAVBqTSZMJt7oEhUo3ZEo="; + hash = "sha256-whGT0XDVdo0mhc2KP5unjdUSP3AFWKql1fKM1qlK/Zc="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/dio-chacon-wifi-api/default.nix b/pkgs/development/python-modules/dio-chacon-wifi-api/default.nix index 37d8838ecb18..754e73f08d45 100644 --- a/pkgs/development/python-modules/dio-chacon-wifi-api/default.nix +++ b/pkgs/development/python-modules/dio-chacon-wifi-api/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system poetry-core, @@ -27,6 +28,8 @@ buildPythonPackage rec { hash = "sha256-c91xCrlNpCutZZYO6y0pOaqPCF4exbr7xVxfsf5LI0Q="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/diskcache-stubs/default.nix b/pkgs/development/python-modules/diskcache-stubs/default.nix index c4d07ea702e1..b976d1c39bc6 100644 --- a/pkgs/development/python-modules/diskcache-stubs/default.nix +++ b/pkgs/development/python-modules/diskcache-stubs/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, typing-extensions, }: @@ -20,6 +21,10 @@ buildPythonPackage rec { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ typing-extensions ]; pythonImportsCheck = [ "diskcache-stubs" ]; diff --git a/pkgs/development/python-modules/dlms-cosem/default.nix b/pkgs/development/python-modules/dlms-cosem/default.nix index 43a2da0ef092..1f7e5bee54bb 100644 --- a/pkgs/development/python-modules/dlms-cosem/default.nix +++ b/pkgs/development/python-modules/dlms-cosem/default.nix @@ -25,6 +25,11 @@ buildPythonPackage rec { hash = "sha256-ZsF+GUVG9bZNZE5daROQJIZZgqpjAkB/bFyre2oGu+E="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "24.1.0"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix index b766e50c16f7..01bee2c1be9e 100644 --- a/pkgs/development/python-modules/docker/default.nix +++ b/pkgs/development/python-modules/docker/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "docker"; - version = "7.1.0"; + version = "7.2.0"; pyproject = true; src = fetchFromGitHub { owner = "docker"; repo = "docker-py"; tag = version; - hash = "sha256-sk6TZLek+fRkKq7kG9g6cR9lvfPC8v8qUXKb7Tq4pLU="; + hash = "sha256-4LmmWAmwoFroV4Ez0r1X72jCpBt69upQMrsA4eP5K6o="; }; build-system = [ diff --git a/pkgs/development/python-modules/dockerflow/default.nix b/pkgs/development/python-modules/dockerflow/default.nix index 0b19dc36d1ee..1aa9187b3ae2 100644 --- a/pkgs/development/python-modules/dockerflow/default.nix +++ b/pkgs/development/python-modules/dockerflow/default.nix @@ -79,6 +79,8 @@ buildPythonPackage rec { disabledTests = [ # AssertionError: assert 'c7a05e2b-8a21-4255-a3ed-92cea1e74a62' is None "test_mozlog_without_correlation_id_middleware" + # broken by fastapi update, new behavior is arguably more correct + "test_error_returns_500_and_logs_error" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix index 9c798666f445..5a62f0e39d0a 100644 --- a/pkgs/development/python-modules/docutils/default.nix +++ b/pkgs/development/python-modules/docutils/default.nix @@ -13,12 +13,12 @@ let self = buildPythonPackage rec { pname = "docutils"; - version = "0.22.4"; + version = "0.23"; pyproject = true; src = fetchurl { url = "mirror://sourceforge/docutils/docutils-${version}.tar.gz"; - hash = "sha256-TbU7H96avsu3TZEjDTKrYm2U9rrfxXXW25GUpJ3ymWg="; + hash = "sha256-dG9QYDIlESgKHlDrdoRu1r8jQphLKsBNxCyqGo14eZ4="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix index e553dbb15dc7..cb403d4bf532 100644 --- a/pkgs/development/python-modules/dulwich/default.nix +++ b/pkgs/development/python-modules/dulwich/default.nix @@ -25,19 +25,19 @@ buildPythonPackage (finalAttrs: { pname = "dulwich"; - version = "1.2.6"; + version = "1.2.10"; pyproject = true; src = fetchFromGitHub { owner = "jelmer"; repo = "dulwich"; tag = "dulwich-${finalAttrs.version}"; - hash = "sha256-nj20g5OmlcqWDaKv3NoKWZS5/e4HOMCf7DHeS7xDzjQ="; + hash = "sha256-ogYR4xK4sYbh7zOozpiZ+bubA6/kDx1iFkbIAjYLkIs="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-wifh/beg3VVQpAXg/P/tq6qiUwCqXxhWPoRvX2HcFOc="; + hash = "sha256-Shu80kj4rir3JvrgXmO82/Z6ZROaACl43zQBzjlDFYc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/editables/default.nix b/pkgs/development/python-modules/editables/default.nix index 32030cff7d46..65e52f8c46cc 100644 --- a/pkgs/development/python-modules/editables/default.nix +++ b/pkgs/development/python-modules/editables/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "editables"; - version = "0.5"; + version = "0.6"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-MJYn2bXErcDmaNjG+nusG6fIxdQVwtJ/YPCB+OgNHeI="; + hash = "sha256-EWODSQI4HEYTeHlRxZFIAP3xVa4IhIo3O46lAGeAl3w="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/eq3btsmart/default.nix b/pkgs/development/python-modules/eq3btsmart/default.nix index 3a464212b2fb..e8bba45a8535 100644 --- a/pkgs/development/python-modules/eq3btsmart/default.nix +++ b/pkgs/development/python-modules/eq3btsmart/default.nix @@ -6,6 +6,7 @@ bleak, bleak-retry-connector, construct-typing, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -24,6 +25,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ bleak bleak-retry-connector diff --git a/pkgs/development/python-modules/eve/default.nix b/pkgs/development/python-modules/eve/default.nix index 7375eb8feb56..8e64d5c461a9 100644 --- a/pkgs/development/python-modules/eve/default.nix +++ b/pkgs/development/python-modules/eve/default.nix @@ -22,7 +22,10 @@ buildPythonPackage rec { hash = "sha256-y0QfxLDoTKNZuAKcPqrLjwkZ0mRseBVq7OyflwUd+Lk="; }; - pythonRelaxDeps = [ "events" ]; + pythonRelaxDeps = [ + "events" + "simplejson" + ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix index 4b84afbc6175..591510fd1791 100644 --- a/pkgs/development/python-modules/eventlet/default.nix +++ b/pkgs/development/python-modules/eventlet/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "eventlet"; - version = "0.40.3"; + version = "0.41.0"; pyproject = true; src = fetchFromGitHub { owner = "eventlet"; repo = "eventlet"; tag = version; - hash = "sha256-yieyNx91jvKoh02zDFIEFk70yf3I27DWiumqoOjtdzQ="; + hash = "sha256-g/AmHqCtWExp8XAdb9/knfATPne9Ma8MbIhYBHZxyOY="; }; pythonRelaxDeps = lib.optionals isPyPy [ "greenlet" ]; @@ -73,6 +73,8 @@ buildPythonPackage rec { "test_ssl_close" # flaky test "test_send_timeout" + # greenlet 3.5.1 compat issue + "test_patcher_existing_logging_module_lock" ]; pythonImportsCheck = [ "eventlet" ]; diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix index 7a5549113695..a1b4270087bd 100644 --- a/pkgs/development/python-modules/faker/default.nix +++ b/pkgs/development/python-modules/faker/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "faker"; - version = "40.1.2"; + version = "40.28.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-t2poFjql8XHSYPwkgnqDSbwdtnL2pmU1no0AlegTXTA="; + hash = "sha256-KmP7Uaurh5BjbUAwoJTPlCQEy8zJwojRytcOLj6ezVg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/falcon/default.nix b/pkgs/development/python-modules/falcon/default.nix index c6c8ffa7fae0..0470435d9256 100644 --- a/pkgs/development/python-modules/falcon/default.nix +++ b/pkgs/development/python-modules/falcon/default.nix @@ -27,14 +27,14 @@ buildPythonPackage rec { pname = "falcon"; - version = "4.2.0"; + version = "4.3.1"; pyproject = true; src = fetchFromGitHub { owner = "falconry"; repo = "falcon"; tag = version; - hash = "sha256-Vi7J607PsjwxAKYNCiVGxSRYIbKHgrGvRX9Ent3+LQo="; + hash = "sha256-f+UoGYyrg8OZow4qONqzXuDVnrZalqUNDyavDoQ7QHE="; }; build-system = [ setuptools ] ++ lib.optionals (!isPyPy) [ cython ]; diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index e7c8a426fae7..1be0d0d05b02 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -18,6 +18,7 @@ a2wsgi, dirty-equals, flask, + httpx2, inline-snapshot, pwdlib, pyjwt, @@ -38,16 +39,17 @@ pydantic-extra-types, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fastapi"; - version = "0.136.3"; + version = "0.139.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "tiangolo"; repo = "fastapi"; - tag = version; - hash = "sha256-lfmk8ZveKPukEEfwWq2mKtWmOHAtVzGuE5BsOskDzh0="; + tag = finalAttrs.version; + hash = "sha256-c4balkkmBv7zKRQnYRpRohVjP23m0HvtdiVrJtgNKYo="; }; build-system = [ pdm-backend ]; @@ -108,6 +110,7 @@ buildPythonPackage rec { a2wsgi dirty-equals flask + httpx2 inline-snapshot pwdlib pyjwt @@ -116,7 +119,7 @@ buildPythonPackage rec { pytest-timeout ] ++ anyio.optional-dependencies.trio - ++ optional-dependencies.all; + ++ finalAttrs.finalPackage.passthru.optional-dependencies.all; disabledTests = [ # Coverage test @@ -134,10 +137,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "fastapi" ]; meta = { - changelog = "https://github.com/fastapi/fastapi/releases/tag/${src.tag}"; + changelog = "https://github.com/fastapi/fastapi/releases/tag/${finalAttrs.src.tag}"; description = "Web framework for building APIs"; homepage = "https://github.com/fastapi/fastapi"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ wd15 ]; }; -} +}) diff --git a/pkgs/development/python-modules/fastcrc/default.nix b/pkgs/development/python-modules/fastcrc/default.nix index d259a442f5f4..25a92627b79d 100644 --- a/pkgs/development/python-modules/fastcrc/default.nix +++ b/pkgs/development/python-modules/fastcrc/default.nix @@ -9,13 +9,13 @@ }: let pname = "fastcrc"; - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "overcat"; repo = "fastcrc"; tag = "v${version}"; - hash = "sha256-Q1R0EgxrfCMn/DxblOAW4Z7YOxpaZPL5Sx8SL/dry98="; + hash = "sha256-13z56Ei+++UzlXs1Kmrm0qOWbr88oPMmX7mi9fK4Gbk="; }; in buildPythonPackage { @@ -29,7 +29,7 @@ buildPythonPackage { cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-dWxQuWV3w1UM8yvLG/9SrJQxSSyWTXV0FWFDKjIHBf0="; + hash = "sha256-Z4pMDuW0gR/by3v4/dPsanhgl09tTGe6FMJr41p9/fk="; }; pythonImportsCheck = [ "fastcrc" ]; diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index 8b55e3f99e7d..5094394374c9 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -5,8 +5,8 @@ setuptools, fastcore, numpy, - fasthtml, ipython, + python-fasthtml, }: buildPythonPackage (finalAttrs: { @@ -26,8 +26,8 @@ buildPythonPackage (finalAttrs: { dependencies = [ fastcore numpy - fasthtml ipython + python-fasthtml ]; # no real tests diff --git a/pkgs/development/python-modules/fava/default.nix b/pkgs/development/python-modules/fava/default.nix index ee8579128317..2d26a16dc772 100644 --- a/pkgs/development/python-modules/fava/default.nix +++ b/pkgs/development/python-modules/fava/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, buildNpmPackage, - fetchpatch2, fetchFromGitHub, stdenv, babel, @@ -84,6 +83,8 @@ buildPythonPackage { watchfiles ]; + pythonRelaxDeps = [ "simplejson" ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "fava" ]; diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix index 80810b707766..c56a4991a173 100644 --- a/pkgs/development/python-modules/filelock/default.nix +++ b/pkgs/development/python-modules/filelock/default.nix @@ -10,16 +10,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "filelock"; - version = "3.29.0"; + version = "3.29.7"; pyproject = true; src = fetchFromGitHub { owner = "tox-dev"; repo = "filelock"; - tag = version; - hash = "sha256-efBEyjuCcLkHsfpG61eKN6ALk4QW4UMdNmD56rSgFLc="; + tag = finalAttrs.version; + hash = "sha256-sRJQa7vmMf9aWXT5QdYAZQHM0oIFFZM9P2tQ2x5T79Y="; }; build-system = [ @@ -44,10 +44,10 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/tox-dev/py-filelock/releases/tag/${version}"; + changelog = "https://github.com/tox-dev/filelock/releases/tag/${finalAttrs.version}"; description = "Platform independent file lock for Python"; homepage = "https://github.com/benediktschmitt/py-filelock"; license = lib.licenses.mit; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/findpython/default.nix b/pkgs/development/python-modules/findpython/default.nix index 59a7383da442..3f34cda59a54 100644 --- a/pkgs/development/python-modules/findpython/default.nix +++ b/pkgs/development/python-modules/findpython/default.nix @@ -16,7 +16,7 @@ let pname = "findpython"; - version = "0.7.1"; + version = "0.8.0"; in buildPythonPackage { inherit pname version; @@ -24,7 +24,7 @@ buildPythonPackage { src = fetchPypi { inherit pname version; - hash = "sha256-nynmo9q9t18rOclJdywO0m6rFTCABmafNHjNqw2GfHg="; + hash = "sha256-U7MiZIdN+lmQvQnXF4GThtjbMUnYn+IPiP4QeN4oa64="; }; build-system = [ pdm-backend ]; diff --git a/pkgs/development/python-modules/fixtures/default.nix b/pkgs/development/python-modules/fixtures/default.nix index 08d89a0c6896..d2a024adc4e8 100644 --- a/pkgs/development/python-modules/fixtures/default.nix +++ b/pkgs/development/python-modules/fixtures/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "fixtures"; - version = "4.2.8"; + version = "4.3.2"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-6hRlZKZmYQbEgffDX5ek1lSFyEsMyGpQdZcWS2zA2Ek="; + hash = "sha256-t9tkAUcyUT8j0SsMSa5Se6DAwfJmfsl9kTbWcVfrzl0="; }; build-system = [ diff --git a/pkgs/development/python-modules/flask-ldap3-login/default.nix b/pkgs/development/python-modules/flask-ldap3-login/default.nix index e321014da32a..ebbf0ed81167 100644 --- a/pkgs/development/python-modules/flask-ldap3-login/default.nix +++ b/pkgs/development/python-modules/flask-ldap3-login/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, setuptools, + pyprojectVersionPatchHook, pytestCheckHook, flask, flask-wtf, @@ -24,6 +25,8 @@ buildPythonPackage rec { hash = "sha256-bWu+hCVnNRSWvXgB2pAcCdhXJQEg3mZeAfZgxUqVOkY="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/flask-login/default.nix b/pkgs/development/python-modules/flask-login/default.nix index 7841dc704c9c..96dfc323b171 100644 --- a/pkgs/development/python-modules/flask-login/default.nix +++ b/pkgs/development/python-modules/flask-login/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "flask-login"; - version = "0.7.0dev0-2024-06-18"; + version = "0.6.3-unstable-2024-06-18"; pyproject = true; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix index 7561d3fcb594..51460c3d3ff6 100644 --- a/pkgs/development/python-modules/flask/default.nix +++ b/pkgs/development/python-modules/flask/default.nix @@ -29,14 +29,19 @@ buildPythonPackage rec { pname = "flask"; - version = "3.1.2"; + version = "3.1.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-v2VsFcgBkO1iitCM39Oqo1vrCHhV4vSUkQqjd0zE/Yc="; + hash = "sha256-DvDlK4qc2TKFU3kZfdj5QEezWcoKeGlRRDBMtF+Hyes="; }; + patches = [ + # https://github.com/pallets/flask/issues/6071 + ./pytest-9.1-compat.patch + ]; + build-system = [ flit-core ]; dependencies = [ @@ -54,6 +59,11 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies; + disabledTests = [ + # https://github.com/pallets/flask/issues/6092#issuecomment-4952497033 + "test_bad_environ_raises_bad_request" + ]; + passthru.tests = { inherit flask-limiter diff --git a/pkgs/development/python-modules/flask/pytest-9.1-compat.patch b/pkgs/development/python-modules/flask/pytest-9.1-compat.patch new file mode 100644 index 000000000000..bd301adf5f87 --- /dev/null +++ b/pkgs/development/python-modules/flask/pytest-9.1-compat.patch @@ -0,0 +1,71 @@ +From 498f13135acdf045c40bad193ec44c94277f32fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= +Date: Thu, 2 Jul 2026 09:03:11 +0200 +Subject: [PATCH] Fix pytest >= 9.1 compatibility + +pytest 9.1 removed the private `notset` sentinel from `_pytest.monkeypatch` (now `NOTSET` in `_pytest.compat`). +Add compatibility shim in tests/test_cli.py + +Fixes: #6071 + +Assisted-by: Claude Opus 4.6 +--- + tests/conftest.py | 17 +++++++++++------ + tests/test_cli.py | 5 ++++- + 2 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/tests/conftest.py b/tests/conftest.py +index 0414b9e22f..ee00e270b8 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -4,6 +4,11 @@ + import pytest + from _pytest import monkeypatch + ++try: ++ _notset = monkeypatch.notset ++except AttributeError: ++ from _pytest.compat import NOTSET as _notset ++ + from flask import Flask + from flask.globals import app_ctx as _app_ctx + +@@ -16,15 +21,15 @@ def _standard_os_environ(): + """ + mp = monkeypatch.MonkeyPatch() + out = ( +- (os.environ, "FLASK_ENV_FILE", monkeypatch.notset), +- (os.environ, "FLASK_APP", monkeypatch.notset), +- (os.environ, "FLASK_DEBUG", monkeypatch.notset), +- (os.environ, "FLASK_RUN_FROM_CLI", monkeypatch.notset), +- (os.environ, "WERKZEUG_RUN_MAIN", monkeypatch.notset), ++ (os.environ, "FLASK_ENV_FILE", _notset), ++ (os.environ, "FLASK_APP", _notset), ++ (os.environ, "FLASK_DEBUG", _notset), ++ (os.environ, "FLASK_RUN_FROM_CLI", _notset), ++ (os.environ, "WERKZEUG_RUN_MAIN", _notset), + ) + + for _, key, value in out: +- if value is monkeypatch.notset: ++ if value is _notset: + mp.delenv(key, False) + else: + mp.setenv(key, value) +diff --git a/tests/test_cli.py b/tests/test_cli.py +index 2a34088bd5..35467265c1 100644 +--- a/tests/test_cli.py ++++ b/tests/test_cli.py +@@ -11,7 +11,10 @@ + + import click + import pytest +-from _pytest.monkeypatch import notset ++try: ++ from _pytest.monkeypatch import notset ++except ImportError: ++ from _pytest.compat import NOTSET as notset + from click.testing import CliRunner + + from flask import Blueprint + diff --git a/pkgs/development/python-modules/flatten-dict/default.nix b/pkgs/development/python-modules/flatten-dict/default.nix index 03b699b3d593..872e3dd75700 100644 --- a/pkgs/development/python-modules/flatten-dict/default.nix +++ b/pkgs/development/python-modules/flatten-dict/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytestCheckHook, }: @@ -20,6 +21,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "flatten_dict" ]; diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix index 616961728241..ef104fc6f244 100644 --- a/pkgs/development/python-modules/forecast-solar/default.nix +++ b/pkgs/development/python-modules/forecast-solar/default.nix @@ -6,6 +6,7 @@ aiohttp, aresponses, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytest-freezer, @@ -28,7 +29,9 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - env.PACKAGE_VERSION = version; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; dependencies = [ aiodns diff --git a/pkgs/development/python-modules/freenub/default.nix b/pkgs/development/python-modules/freenub/default.nix index f138d0a7fade..ee075de2559b 100644 --- a/pkgs/development/python-modules/freenub/default.nix +++ b/pkgs/development/python-modules/freenub/default.nix @@ -35,6 +35,8 @@ buildPythonPackage rec { requests ]; + pythonRelaxDeps = [ "cbor2" ]; + nativeCheckInputs = [ busypie pytest-asyncio diff --git a/pkgs/development/python-modules/fressnapftracker/default.nix b/pkgs/development/python-modules/fressnapftracker/default.nix index 5f41c7fd723e..53b1b86b88dc 100644 --- a/pkgs/development/python-modules/fressnapftracker/default.nix +++ b/pkgs/development/python-modules/fressnapftracker/default.nix @@ -5,6 +5,7 @@ hatchling, httpx, pydantic, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytest-mock, @@ -24,6 +25,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-gJsE/1HnUXEDa5Y7eLtHexx+G00MGQDZJu3pui9OeMM="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/frigidaire/default.nix b/pkgs/development/python-modules/frigidaire/default.nix index 2df2d92984ed..e13f30f8f3d8 100644 --- a/pkgs/development/python-modules/frigidaire/default.nix +++ b/pkgs/development/python-modules/frigidaire/default.nix @@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: { postPatch = '' substituteInPlace setup.py \ - --replace-warn 'version = "SNAPSHOT"' 'version = "${finalAttrs.version}"' + --replace-fail 'version = "0.0.0-dev"' 'version = "${finalAttrs.version}"' ''; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix index 1de0d06e5db5..6b57efacea8f 100644 --- a/pkgs/development/python-modules/fritzconnection/default.nix +++ b/pkgs/development/python-modules/fritzconnection/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, - pytestCheckHook, + pytest9_0CheckHook, requests, segno, setuptools, @@ -30,7 +30,7 @@ buildPythonPackage (finalAttrs: { }; nativeCheckInputs = [ - pytestCheckHook + pytest9_0CheckHook writableTmpDirAsHomeHook ]; diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix index 827988124b82..fc9b10c91a92 100644 --- a/pkgs/development/python-modules/fsspec/default.nix +++ b/pkgs/development/python-modules/fsspec/default.nix @@ -38,14 +38,14 @@ buildPythonPackage rec { pname = "fsspec"; - version = "2026.3.0"; + version = "2026.6.0"; pyproject = true; src = fetchFromGitHub { owner = "fsspec"; repo = "filesystem_spec"; tag = version; - hash = "sha256-K/qHc9uBYq/HkA6xhKAujdCBqH+0kcFnfD3a506A9Ns="; + hash = "sha256-MQkrSqXILUkIwm1r1Ins4ZLSATBvFDbylgRLTWQyQOQ="; }; build-system = [ diff --git a/pkgs/development/python-modules/gattlib/default.nix b/pkgs/development/python-modules/gattlib/default.nix index e9bf36c3d599..3073ee291ddc 100644 --- a/pkgs/development/python-modules/gattlib/default.nix +++ b/pkgs/development/python-modules/gattlib/default.nix @@ -16,13 +16,13 @@ buildPythonPackage rec { pname = "gattlib"; - version = "20210616"; + version = "0.20210616"; pyproject = true; src = fetchFromGitHub { owner = "oscaracena"; repo = "pygattlib"; - rev = "v.${version}"; + tag = "v.${lib.removePrefix "0." version}"; hash = "sha256-n3D9CWKvgw4FYmbvsfhaHN963HARBG0p4CcZBC8Gkb0="; }; diff --git a/pkgs/development/python-modules/gcsfs/default.nix b/pkgs/development/python-modules/gcsfs/default.nix index 1a81e2556ec7..f7ce82f07d13 100644 --- a/pkgs/development/python-modules/gcsfs/default.nix +++ b/pkgs/development/python-modules/gcsfs/default.nix @@ -4,7 +4,8 @@ fetchFromGitHub, # build-system - setuptools, + hatchling, + hatch-vcs, # dependencies aiohttp, @@ -23,7 +24,7 @@ buildPythonPackage (finalAttrs: { pname = "gcsfs"; - version = "2026.3.0"; + version = "2026.7.0"; pyproject = true; __structuredAttrs = true; @@ -31,11 +32,12 @@ buildPythonPackage (finalAttrs: { owner = "fsspec"; repo = "gcsfs"; tag = finalAttrs.version; - hash = "sha256-RLh3xFW/0qX5labJeUDsRRmQtnTdkvBS+gzJUJ1IP7k="; + hash = "sha256-Q+aqlFyNiGj0alOrnyjV9ILSSv6jRp+2DjDF/+f65po="; }; build-system = [ - setuptools + hatchling + hatch-vcs ]; dependencies = [ diff --git a/pkgs/development/python-modules/gevent/default.nix b/pkgs/development/python-modules/gevent/default.nix index af22c81a7395..ed4e5257348f 100644 --- a/pkgs/development/python-modules/gevent/default.nix +++ b/pkgs/development/python-modules/gevent/default.nix @@ -24,12 +24,12 @@ buildPythonPackage rec { pname = "gevent"; - version = "25.9.1"; + version = "26.5.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-rfnNVS3kSk5nVMUf8ueNkZO3+m6rEj25V4ohDmVyNd0="; + hash = "sha256-FlXrBMHiDXGyqko8dSgWLdWP9sxGoDevHwH1NMgP77o="; }; build-system = [ diff --git a/pkgs/development/python-modules/gios/default.nix b/pkgs/development/python-modules/gios/default.nix index 2eafea3323cc..9e23491cf120 100644 --- a/pkgs/development/python-modules/gios/default.nix +++ b/pkgs/development/python-modules/gios/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, dacite, fetchFromGitHub, + pyprojectVersionPatchHook, pytest-asyncio, pytest-error-for-skips, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { hash = "sha256-m7baTU7oWcjqCgiZ7GcOYVM23jcvycQcAbPhO1jWahk="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/git-versioner/default.nix b/pkgs/development/python-modules/git-versioner/default.nix index e05d20dad3d4..46e9e6f5747e 100644 --- a/pkgs/development/python-modules/git-versioner/default.nix +++ b/pkgs/development/python-modules/git-versioner/default.nix @@ -1,8 +1,9 @@ { lib, buildPythonPackage, - setuptools-scm, + setuptools, fetchFromGitLab, + pyprojectVersionPatchHook, }: buildPythonPackage rec { @@ -13,11 +14,15 @@ buildPythonPackage rec { src = fetchFromGitLab { owner = "alelec"; repo = "__version__"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-bnpuFJSd4nBXJA75V61kiB+nU5pUzdEAIScfKx7aaGU="; }; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ setuptools ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; pythonImportsCheck = [ "__version__" ]; diff --git a/pkgs/development/python-modules/gitpython/default.nix b/pkgs/development/python-modules/gitpython/default.nix index 10486c955e8f..d612c47d5830 100644 --- a/pkgs/development/python-modules/gitpython/default.nix +++ b/pkgs/development/python-modules/gitpython/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "gitpython"; - version = "3.1.50"; + version = "3.1.51"; pyproject = true; src = fetchFromGitHub { owner = "gitpython-developers"; repo = "GitPython"; tag = finalAttrs.version; - hash = "sha256-oHJrN/iYaAZUNPgOLS+8Ekr1eLES8APfXynmR4OySwk="; + hash = "sha256-c8tjBvWjVR7krR59Tfx5jKoJc/fcLWVt5D4xk15DvP4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/go2rtc-client/default.nix b/pkgs/development/python-modules/go2rtc-client/default.nix index 25cc4087f92f..a072657a4b44 100644 --- a/pkgs/development/python-modules/go2rtc-client/default.nix +++ b/pkgs/development/python-modules/go2rtc-client/default.nix @@ -55,6 +55,12 @@ buildPythonPackage rec { syrupy ]; + disabledTests = [ + # url encoding mismatch, probably yarl bump + "test_streams_add_list" + "test_streams_add_str" + ]; + pythonImportsCheck = [ "go2rtc_client" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix index 0cf36da8a8f9..e5ec15975a46 100644 --- a/pkgs/development/python-modules/goodwe/default.nix +++ b/pkgs/development/python-modules/goodwe/default.nix @@ -18,6 +18,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-2wnfc+W1lhUgvWa1iwHxJu4WGZHaXvmxgtBAkTJHJ3E="; }; + postPatch = '' + echo '${finalAttrs.version}' > VERSION + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix index bac60f66718c..ae883095f202 100644 --- a/pkgs/development/python-modules/google-api-core/default.nix +++ b/pkgs/development/python-modules/google-api-core/default.nix @@ -56,6 +56,10 @@ buildPythonPackage rec { pytestCheckHook ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + # prevent google directory from shadowing google imports preCheck = '' rm -r google diff --git a/pkgs/development/python-modules/goslide-api/default.nix b/pkgs/development/python-modules/goslide-api/default.nix index 008eb0ea3ab5..2dbe1108e691 100644 --- a/pkgs/development/python-modules/goslide-api/default.nix +++ b/pkgs/development/python-modules/goslide-api/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-Z3+GijoI+351zV7IpLSBQu6LE2OhhXho4ygNMVbg2xs="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='0.7.3'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/gpiod/default.nix b/pkgs/development/python-modules/gpiod/default.nix index 248dffdcc939..9c2a842abe5d 100644 --- a/pkgs/development/python-modules/gpiod/default.nix +++ b/pkgs/development/python-modules/gpiod/default.nix @@ -21,6 +21,9 @@ buildPythonPackage { doCheck = false; pythonImportsCheck = [ "gpiod" ]; + # the tag component of the version doesn't align + dontCheckPythonMetadata = true; + meta = { description = "Python bindings for libgpiod"; homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/"; diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index 7e11791b068b..9d0f1a1ea290 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -439,6 +439,7 @@ buildPythonPackage (finalAttrs: { shopt -u globstar ''; pythonImportsCheck = null; + dontCheckPythonMetadata = true; dontCheckRuntimeDeps = true; }); diff --git a/pkgs/development/python-modules/granian/default.nix b/pkgs/development/python-modules/granian/default.nix index b015bead770d..3fa255a99b4d 100644 --- a/pkgs/development/python-modules/granian/default.nix +++ b/pkgs/development/python-modules/granian/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "granian"; - version = "2.7.8"; + version = "2.7.9"; pyproject = true; src = fetchFromGitHub { owner = "emmett-framework"; repo = "granian"; tag = "v${version}"; - hash = "sha256-89Kl/MrotK0fv0oAayUuZXyLLG9PPM1km57ER+dM1jw="; + hash = "sha256-SYbdLrE/LaPGpzsrW4FBWtKyTM1VTqJ6sWRVbLjvCM8="; }; # Granian forces a custom allocator for all the things it runs, @@ -40,7 +40,7 @@ buildPythonPackage rec { cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-mnqtzZ2+xuxUezhsgw+gr6MmWbi4Z4j0bHndys6vHFw="; + hash = "sha256-DZZUWpTsKkJQ8ku1Hm5eKFNxhYVfxv7D2N9DLPS9+a4="; }; nativeBuildInputs = with rustPlatform; [ diff --git a/pkgs/development/python-modules/greeneye-monitor/default.nix b/pkgs/development/python-modules/greeneye-monitor/default.nix index 04a30f73a4ef..6c15df1dbf96 100644 --- a/pkgs/development/python-modules/greeneye-monitor/default.nix +++ b/pkgs/development/python-modules/greeneye-monitor/default.nix @@ -3,9 +3,9 @@ aiohttp, buildPythonPackage, fetchFromGitHub, + poetry-core, pytest-socket, pytestCheckHook, - setuptools, siobrultech-protocols, }: @@ -21,7 +21,19 @@ buildPythonPackage rec { hash = "sha256-7EDuQ+wECcTzxkEufMpg3WSzosWeiwfxcVIVtQi+0BI="; }; - build-system = [ setuptools ]; + postPatch = '' + cat >> pyproject.toml << EOF + [build-system] + requires = ["poetry-core"] + build-backend = "poetry.core.masonry.api" + EOF + ''; + + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ + "siobrultech-protocols" + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/greenlet/default.nix b/pkgs/development/python-modules/greenlet/default.nix index fe6554328bc0..7219b87e4667 100644 --- a/pkgs/development/python-modules/greenlet/default.nix +++ b/pkgs/development/python-modules/greenlet/default.nix @@ -17,12 +17,12 @@ let greenlet = buildPythonPackage rec { pname = "greenlet"; - version = "3.3.0"; + version = "3.5.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-qCuyJaTp5NZT3S+3uLLTbk+yW8AWVCKhHki4jp5vePs="; + hash = "sha256-ph78AY/T6zF+7KMaupDunn8m8iiEp5tsbscVv3G7YvE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix index c94d0fc4a591..a3f96b4f0b39 100644 --- a/pkgs/development/python-modules/grpcio-channelz/default.nix +++ b/pkgs/development/python-modules/grpcio-channelz/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-channelz"; - version = "1.81.0"; + version = "1.82.1"; pyproject = true; src = fetchPypi { pname = "grpcio_channelz"; inherit version; - hash = "sha256-V6Gr5QURNJv9iafEJtHbaRmOLJzUcbr2wNVgbDTbmt8="; + hash = "sha256-/Q6lQDfasOu4BAaiqH6AmyTUEKLp209mL6IqKZ8AUOs="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/grpcio-health-checking/default.nix b/pkgs/development/python-modules/grpcio-health-checking/default.nix index bb4593209fcb..ab1c0bb04f81 100644 --- a/pkgs/development/python-modules/grpcio-health-checking/default.nix +++ b/pkgs/development/python-modules/grpcio-health-checking/default.nix @@ -11,13 +11,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-health-checking"; - version = "1.81.0"; + version = "1.82.1"; format = "setuptools"; src = fetchPypi { pname = "grpcio_health_checking"; inherit version; - hash = "sha256-CfMWdPGs3PIUvE5kDru77xZbB3of1kg0eVGW1Sv9zjk="; + hash = "sha256-hiVeBOHTnxyXpmMtQbYySTUUCN5cWOhe7eh6/X2YKN0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/grpcio-reflection/default.nix b/pkgs/development/python-modules/grpcio-reflection/default.nix index f92d04e3b078..7d28689e7ee0 100644 --- a/pkgs/development/python-modules/grpcio-reflection/default.nix +++ b/pkgs/development/python-modules/grpcio-reflection/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-reflection"; - version = "1.81.0"; + version = "1.82.1"; pyproject = true; src = fetchPypi { pname = "grpcio_reflection"; inherit version; - hash = "sha256-UZHbeqbKsbaYGwh5+kT9zdQ7pkTwMBxAuXb4E+tO/wY="; + hash = "sha256-LslD6tPhe0P44HR6XLQXs6ZDV/49m0p73Dmkwz6pgA0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix index 03c03473d5ad..479a1e105efb 100644 --- a/pkgs/development/python-modules/grpcio-status/default.nix +++ b/pkgs/development/python-modules/grpcio-status/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-status"; - version = "1.81.0"; + version = "1.82.1"; format = "setuptools"; src = fetchPypi { pname = "grpcio_status"; inherit version; - hash = "sha256-tv6XiM/dHw9jwFKKHgv9tB6P8Fg+kg0tjoiIWYwBu2k="; + hash = "sha256-2d6Kw0djzUaBMP3SkjKUr3w9KNCUJvbEUiHSfCWTETA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/grpcio-testing/default.nix b/pkgs/development/python-modules/grpcio-testing/default.nix index 357a7f7e6dff..59f7e88b533e 100644 --- a/pkgs/development/python-modules/grpcio-testing/default.nix +++ b/pkgs/development/python-modules/grpcio-testing/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-testing"; - version = "1.81.0"; + version = "1.82.1"; pyproject = true; src = fetchPypi { pname = "grpcio_testing"; inherit version; - hash = "sha256-MjcL3/wM0Jq63pKP2ID5Gb8HCv5dASot4UEkJ7LcGSE="; + hash = "sha256-2fxmLSRf10IpLQOJkCQtDdDmkvAKAvIQvRI0FFzxM0E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index bf74b27fcea2..9d4d7f1bc435 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -13,13 +13,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.81.0"; + version = "1.82.1"; pyproject = true; src = fetchPypi { pname = "grpcio_tools"; inherit version; - hash = "sha256-BzPXc+yoy0YfTyobecZMEj25ZhvkGwgYS4FJeyuZHMs="; + hash = "sha256-K9MXbM2/fNH0Y+t1t7g1RMfWQp9cqKD394S3YJfayJE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix index 7b786ec380ba..9f22f9b94416 100644 --- a/pkgs/development/python-modules/grpcio/default.nix +++ b/pkgs/development/python-modules/grpcio/default.nix @@ -18,12 +18,12 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio"; - version = "1.81.0"; + version = "1.82.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-pazX79Ox/ptOsLyqoVB+7WigrQZ4tlTD97Rk35up3KU="; + hash = "sha256-cHskq9kPyx5FvMCAV32h2/mXHRB0kFiblTmvjh53tLU="; }; postPatch = '' diff --git a/pkgs/development/python-modules/gruut/language-pack.nix b/pkgs/development/python-modules/gruut/language-pack.nix index 37c3d909284c..7103f2ea598e 100644 --- a/pkgs/development/python-modules/gruut/language-pack.nix +++ b/pkgs/development/python-modules/gruut/language-pack.nix @@ -17,6 +17,10 @@ buildPythonPackage rec { cd "${pname}" ''; + postPatch = '' + echo "${version}" > "gruut_lang_${lang}/VERSION" + ''; + pythonImportsCheck = [ "gruut_lang_${lang}" ]; doCheck = false; diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix index 156a7aee13af..55d9a934e29d 100644 --- a/pkgs/development/python-modules/gssapi/default.nix +++ b/pkgs/development/python-modules/gssapi/default.nix @@ -22,19 +22,19 @@ buildPythonPackage (finalAttrs: { pname = "gssapi"; - version = "1.10.1"; + version = "1.11.1"; pyproject = true; src = fetchFromGitHub { owner = "pythongssapi"; repo = "python-gssapi"; tag = "v${finalAttrs.version}"; - hash = "sha256-A1y3PD+zycKxlZT2vZ9b9p8SMr+aZA62CIAUpi4eOvo="; + hash = "sha256-E9rX5/7jTFR4nZ7ww2B083Tlz5vwl00yhakBQg75WZs="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "Cython == 3.1.3" Cython + --replace-fail "Cython == 3.2.4" Cython substituteInPlace setup.py \ --replace-fail 'get_output(f"{kc} gssapi --prefix")' '"${lib.getDev krb5-c}"' ''; diff --git a/pkgs/development/python-modules/gunicorn/default.nix b/pkgs/development/python-modules/gunicorn/default.nix index 13c403a59884..5d283ad955bc 100644 --- a/pkgs/development/python-modules/gunicorn/default.nix +++ b/pkgs/development/python-modules/gunicorn/default.nix @@ -15,20 +15,22 @@ tornado, setproctitle, + # tests + pytest-asyncio, pytestCheckHook, pytest-cov-stub, }: buildPythonPackage rec { pname = "gunicorn"; - version = "23.0.0"; + version = "26.0.0"; pyproject = true; src = fetchFromGitHub { owner = "benoitc"; repo = "gunicorn"; tag = version; - hash = "sha256-Dq/mrQwo3II6DBvYfD1FHsKHaIlyHlJCZ+ZyrM4Efe0="; + hash = "sha256-duq5ghUuiuZL644jHgZ0qXHkcc8POHt7BX91m9F5BGE="; }; build-system = [ setuptools ]; @@ -46,11 +48,22 @@ buildPythonPackage rec { pythonImportsCheck = [ "gunicorn" ]; nativeCheckInputs = [ + pytest-asyncio pytestCheckHook pytest-cov-stub ] ++ lib.concatAttrValues optional-dependencies; + disabledTests = [ + # failure while starting a gunicorn instance + "TestSignalHandlingIntegration" + ]; + + disabledTestPaths = [ + # tries to start gunicorn and fails on import + "tests/test_control_socket_integration.py" + ]; + meta = { description = "WSGI HTTP Server for UNIX, fast clients and sleepy applications"; homepage = "https://github.com/benoitc/gunicorn"; diff --git a/pkgs/development/python-modules/gwcs/default.nix b/pkgs/development/python-modules/gwcs/default.nix index 7053149a64d5..d808f4bdd6bc 100644 --- a/pkgs/development/python-modules/gwcs/default.nix +++ b/pkgs/development/python-modules/gwcs/default.nix @@ -7,6 +7,7 @@ buildPythonPackage, fetchFromGitHub, numpy, + pytest-doctestplus, pytestCheckHook, scipy, setuptools-scm, @@ -43,7 +44,10 @@ buildPythonPackage (finalAttrs: { scipy ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytest-doctestplus + pytestCheckHook + ]; pythonImportsCheck = [ "gwcs" ]; diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix index 0adb77a037ef..256ddec3b5a6 100644 --- a/pkgs/development/python-modules/h5py/default.nix +++ b/pkgs/development/python-modules/h5py/default.nix @@ -20,13 +20,13 @@ let mpiSupport = hdf5.mpiSupport; in buildPythonPackage rec { - version = "3.15.1"; + version = "3.16.0"; pname = "h5py"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-yG4+1FxEc1ZN5VqoO2/J5erYZXh3PfvZMEc4AELia2k="; + hash = "sha256-oNuq15aEDMqmekwUSg0MgIAHPDTHbVppQdaBhnjvJzg="; }; pythonRelaxDeps = [ "mpi4py" ]; diff --git a/pkgs/development/python-modules/ha-philipsjs/default.nix b/pkgs/development/python-modules/ha-philipsjs/default.nix index f6371faf06cf..99624cd564cb 100644 --- a/pkgs/development/python-modules/ha-philipsjs/default.nix +++ b/pkgs/development/python-modules/ha-philipsjs/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "ha-philipsjs"; - version = "3.3.4"; + version = "3.3.4"; # FIXME Can we check metadata again? pyproject = true; src = fetchFromGitHub { @@ -39,6 +39,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "haphilipsjs" ]; + # the tag 3.3.4 actually corresponds to version 3.2.4 + dontCheckPythonMetadata = true; + meta = { description = "Library to interact with Philips TVs with jointSPACE API"; homepage = "https://github.com/danielperna84/ha-philipsjs"; diff --git a/pkgs/development/python-modules/hatchling/default.nix b/pkgs/development/python-modules/hatchling/default.nix index e9c0556a05a5..eff0884950cf 100644 --- a/pkgs/development/python-modules/hatchling/default.nix +++ b/pkgs/development/python-modules/hatchling/default.nix @@ -19,12 +19,12 @@ buildPythonPackage (finalAttrs: { pname = "hatchling"; - version = "1.30.1"; + version = "1.31.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-7uT9RTV/cuuz16QuXXLPteKe1CbXnog2KIkmxCWNXy4="; + hash = "sha256-a0itQGikgu1yObOoIVvFW0eq0zRdWN/JTlU8XS1GIRs="; }; # listed in backend/pyproject.toml diff --git a/pkgs/development/python-modules/hdate/default.nix b/pkgs/development/python-modules/hdate/default.nix index 43620b0a92d2..4b6d6437a03a 100644 --- a/pkgs/development/python-modules/hdate/default.nix +++ b/pkgs/development/python-modules/hdate/default.nix @@ -48,6 +48,8 @@ buildPythonPackage rec { syrupy ]; + pytestFlags = [ "--snapshot-warn-unused" ]; + enabledTestPaths = [ "tests" ]; pythonImportsCheck = [ "hdate" ]; diff --git a/pkgs/development/python-modules/here-routing/default.nix b/pkgs/development/python-modules/here-routing/default.nix index 1dfddf8e5306..4e6290a1adaa 100644 --- a/pkgs/development/python-modules/here-routing/default.nix +++ b/pkgs/development/python-modules/here-routing/default.nix @@ -7,6 +7,7 @@ async-timeout, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -24,6 +25,10 @@ buildPythonPackage rec { hash = "sha256-h3y5hjaSHH6oIfSt5JTt1+pH7mFLOFiq1RuMZ1uYtTE="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/here-transit/default.nix b/pkgs/development/python-modules/here-transit/default.nix index 87541d36fd17..3d4e1cd35a18 100644 --- a/pkgs/development/python-modules/here-transit/default.nix +++ b/pkgs/development/python-modules/here-transit/default.nix @@ -7,6 +7,7 @@ async-timeout, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -28,6 +29,10 @@ buildPythonPackage rec { sed -i "/^addopts/d" pyproject.toml ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/hf-xet/default.nix b/pkgs/development/python-modules/hf-xet/default.nix index 3f56fcdab488..4acf4f83d090 100644 --- a/pkgs/development/python-modules/hf-xet/default.nix +++ b/pkgs/development/python-modules/hf-xet/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "hf-xet"; - version = "1.4.3"; + version = "1.5.1"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "xet-core"; tag = "v${finalAttrs.version}"; - hash = "sha256-zAliMR2d2j6ynHQmAljQ8XgDyjuPxNawI1bZks5aRgs="; + hash = "sha256-TqSErydAOaHzCN7qglO/aqMF8BWYXvEv09adhxTwny0="; }; sourceRoot = "${finalAttrs.src.name}/hf_xet"; @@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: { src sourceRoot ; - hash = "sha256-TOgBT0l7TvJamVdIAdAUFRWs8AMRRY+Ydoh6e+3dEp0="; + hash = "sha256-pwHUIkx+Dk8fGOVxRJKLswLjQB+sKzpyOOeqV6+Xyxo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/hpack/default.nix b/pkgs/development/python-modules/hpack/default.nix index da16cd0896b8..f67dda839f1e 100644 --- a/pkgs/development/python-modules/hpack/default.nix +++ b/pkgs/development/python-modules/hpack/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "hpack"; - version = "4.1.0"; + version = "4.2.0"; pyproject = true; src = fetchFromGitHub { owner = "python-hyper"; repo = "hpack"; rev = "v${version}"; - hash = "sha256-vbxfDlRDwMXuzkPO0oceCpSz1ekLNxLSj4iocdHo680="; + hash = "sha256-gZe/ABRLXoBAeH/mp/yIgDj56jalyiYgs4EP2qK17Ig="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/httpcore2/default.nix b/pkgs/development/python-modules/httpcore2/default.nix index eddeeb5178fd..fb4b68102f82 100644 --- a/pkgs/development/python-modules/httpcore2/default.nix +++ b/pkgs/development/python-modules/httpcore2/default.nix @@ -29,14 +29,14 @@ buildPythonPackage (finalAttrs: { pname = "httpcore2"; - version = "2.4.0"; + version = "2.5.0"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "httpx2"; tag = "v${finalAttrs.version}"; - hash = "sha256-T5As4cdZRHkWszzaDZX8G8Z35TkaBsB/oy92FtOhuBY="; + hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s="; }; postPatch = '' diff --git a/pkgs/development/python-modules/httptools/default.nix b/pkgs/development/python-modules/httptools/default.nix index 3be345cfb6f0..82a37c8283e6 100644 --- a/pkgs/development/python-modules/httptools/default.nix +++ b/pkgs/development/python-modules/httptools/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "httptools"; - version = "0.7.1"; + version = "0.8.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-q9clVpdPjnx0olllWSSnF6I2WyNsiCw/b4pF/pRwOsk="; + hash = "sha256-ayoy8Y2X4W6Qgn16gZ/6jb2MwkX8Th+p0QlbVO9L2Zk="; }; # Tests are not included in pypi tarball diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix index a5e66abfcd68..1fbeb83e6aa8 100644 --- a/pkgs/development/python-modules/httpx/default.nix +++ b/pkgs/development/python-modules/httpx/default.nix @@ -100,6 +100,9 @@ buildPythonPackage rec { "test_client_decode_text_using_autodetect" "test_client_decode_text_using_explicit_encoding" "test_response_decode_text_using_autodetect" + # uvicorn access logging mismatch + "test_logging_request" + "test_logging_redirect_chain" ]; disabledTestPaths = [ "tests/test_main.py" ]; diff --git a/pkgs/development/python-modules/httpx2/default.nix b/pkgs/development/python-modules/httpx2/default.nix index f27315046788..33ae69aa41fc 100644 --- a/pkgs/development/python-modules/httpx2/default.nix +++ b/pkgs/development/python-modules/httpx2/default.nix @@ -39,14 +39,14 @@ buildPythonPackage (finalAttrs: { pname = "httpx2"; - version = "2.4.0"; + version = "2.5.0"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "httpx2"; tag = "v${finalAttrs.version}"; - hash = "sha256-T5As4cdZRHkWszzaDZX8G8Z35TkaBsB/oy92FtOhuBY="; + hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s="; }; postPatch = '' @@ -102,6 +102,13 @@ buildPythonPackage (finalAttrs: { # network access "test_async_proxy_close" "test_sync_proxy_close" + # uvicorn access logging mismatch + "test_logging_request" + "test_logging_redirect_chain" + # chardet shenanigans (Windows-1252 == WINDOWS-1252 cmp) + "test_client_decode_text_using_autodetect" + "test_client_decode_text_using_explicit_encoding" + "test_response_decode_text_using_autodetect" ]; passthru.tests = { diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix index 0d9992fe679c..9edd32ac8c5d 100644 --- a/pkgs/development/python-modules/huggingface-hub/default.nix +++ b/pkgs/development/python-modules/huggingface-hub/default.nix @@ -28,6 +28,10 @@ # gradio gradio, requests, + # oauth + authlib, + fastapi, + itsdangerous, # mcp mcp, @@ -37,14 +41,14 @@ buildPythonPackage (finalAttrs: { pname = "huggingface-hub"; - version = "1.10.2"; + version = "1.16.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "huggingface_hub"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q9N0QnxV8oJcxUsJzv4wX8Z6FkNdEfUH5BEVoZolsRY="; + hash = "sha256-GuTsoz7ow3A/PJyU3L/xLp56r3RVx5O1YH3nr3T4u7U="; }; build-system = [ setuptools ]; @@ -65,11 +69,6 @@ buildPythonPackage (finalAttrs: { all = [ ]; - torch = [ - torch - safetensors - ] - ++ safetensors.optional-dependencies.torch; fastai = [ toml fastai @@ -85,6 +84,17 @@ buildPythonPackage (finalAttrs: { mcp = [ mcp ]; + oauth = [ + authlib + fastapi + httpx + itsdangerous + ]; + torch = [ + torch + safetensors + ] + ++ safetensors.optional-dependencies.torch; }; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/hypothesis-jsonschema/default.nix b/pkgs/development/python-modules/hypothesis-jsonschema/default.nix new file mode 100644 index 000000000000..e57b566a2874 --- /dev/null +++ b/pkgs/development/python-modules/hypothesis-jsonschema/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + hypothesis, + jsonschema, + pytest-cov-stub, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "hypothesis-jsonschema"; + version = "0.23.1"; + pyproject = true; + + __structuredAttrs = true; + + # no git tags + src = fetchPypi { + inherit (finalAttrs) pname version; + hash = "sha256-9KwDICQ0KkFJoQJTmE9aVza4Kz/ir7CIjzg0oxFT8hU="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + hypothesis + jsonschema + ]; + + doCheck = false; # sdist does not include everything to run the tests + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ + "hypothesis_jsonschema" + ]; + + meta = { + description = "Generate test data from JSON schemata with Hypothesis"; + homepage = "https://github.com/Zac-HD/hypothesis-jsonschema"; + license = lib.licenses.mpl20; + }; +}) diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix index 6b2e44c08d79..6556709611a4 100644 --- a/pkgs/development/python-modules/hypothesis/default.nix +++ b/pkgs/development/python-modules/hypothesis/default.nix @@ -3,27 +3,44 @@ buildPythonPackage, isPyPy, fetchFromGitHub, - setuptools, attrs, + gitMinimal, pexpect, doCheck ? true, pytestCheckHook, pytest-xdist, + rustPlatform, sortedcontainers, - pythonAtLeast, + syrupy, tzdata, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "hypothesis"; - version = "6.151.10"; + version = "6.156.1"; pyproject = true; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "HypothesisWorks"; repo = "hypothesis"; - tag = "hypothesis-python-${version}"; - hash = "sha256-zxX4zF6huOF7sTpVFAiN0iElxsW2C5BE0kiZbpPzXpc="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Z3LffzA+tsJtvXebTayfRZo32b0LcU2RFDS6bAdCDqU="; + }; + + sourceRoot = "${finalAttrs.src.name}/hypothesis"; + + cargoRoot = "rust"; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) + pname + version + src + sourceRoot + cargoRoot + ; + hash = "sha256-WEuCK1jpemnNpO+UxsfpdAkFLSM0v2WRjZr3qmSLBJI="; }; # I tried to package sphinx-selective-exclude, but it throws @@ -39,9 +56,13 @@ buildPythonPackage rec { sed -i -e '/sphinx_selective_exclude.eager_only/ d' docs/conf.py ''; - postUnpack = "sourceRoot=$sourceRoot/hypothesis-python"; + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + ]; - build-system = [ setuptools ]; + build-system = [ + rustPlatform.maturinBuildHook + ]; dependencies = [ attrs @@ -49,9 +70,11 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ + gitMinimal pexpect pytest-xdist pytestCheckHook + (syrupy.overridePythonAttrs { doCheck = false; }) ] ++ lib.optionals isPyPy [ tzdata ]; @@ -65,8 +88,13 @@ buildPythonPackage rec { preCheck = '' rm tox.ini export HYPOTHESIS_PROFILE=ci + export TMPDIR=$(mktemp -d) ''; + pytestFlags = [ + "-p no:cacheprovider" + ]; + enabledTestPaths = [ "tests/cover" ]; # Hypothesis by default activates several "Health Checks", including one that fires if the builder is "too slow". @@ -82,46 +110,13 @@ buildPythonPackage rec { setupHook = ./setup-hook.sh; disabledTests = [ - # racy, fails to find a file sometimes - "test_recreate_charmap" - "test_uses_cached_charmap" # fail when using CI profile "test_given_does_not_pollute_state" "test_find_does_not_pollute_state" "test_does_print_on_reuse_from_database" "test_prints_seed_only_on_healthcheck" - # calls script with the naked interpreter - "test_constants_from_running_file" - # fails consistenly "test_prints_seed_on_very_slow_shrinking" - ] - ++ lib.optionals (pythonAtLeast "3.12") [ - # AssertionError: assert [b'def \... f(): pass'] == [b'def\\', b' f(): pass'] - # https://github.com/HypothesisWorks/hypothesis/issues/4355 - "test_clean_source" - ] - ++ lib.optionals (pythonAtLeast "3.14") [ - "test_attrs_inference_builds" - "test_bound_missing_dot_access_forward_ref" - "test_bound_missing_forward_ref" - "test_bound_type_checking_only_forward_ref_wrong_type" - "test_bound_type_cheking_only_forward_ref" - "test_builds_suggests_from_type" - "test_bytestring_not_treated_as_generic_sequence" - "test_evil_prng_registration_nonsense" - "test_issue_4194_regression" - "test_passing_referenced_instance_within_function_scope_warns" - "test_registering_a_Random_is_idempotent" - "test_register_random_within_nested_function_scope" - "test_resolve_fwd_refs" - "test_resolves_forwardrefs_to_builtin_types" - "test_resolving_standard_collection_as_generic" - "test_resolving_standard_container_as_generic" - "test_resolving_standard_contextmanager_as_generic" - "test_resolving_standard_iterable_as_generic" - "test_resolving_standard_reversible_as_generic" - "test_resolving_standard_sequence_as_generic" - "test_specialised_collection_types" + "test_regex_output_should_print_as_string" ] ++ lib.optionals isPyPy [ # hypothesis.errors.Unsatisfiable: Could not find any examples from datetimes(min_value=datetime.datetime(2003, 1, 1, 0, 0), max_value=datetime.datetime(2005, 12, 31, 23, 59, 59, 999999)) that satisfied lambda x: x.month == 2 and x.day == 29 @@ -135,11 +130,11 @@ buildPythonPackage rec { mainProgram = "hypothesis"; homepage = "https://github.com/HypothesisWorks/hypothesis"; changelog = "https://hypothesis.readthedocs.io/en/latest/changes.html#v${ - lib.replaceStrings [ "." ] [ "-" ] version + lib.replaceStrings [ "." ] [ "-" ] finalAttrs.version }"; license = lib.licenses.mpl20; maintainers = [ lib.maintainers.fliegendewurst ]; }; -} +}) diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index 61c2d9daedea..b71ed3dc476c 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -272,6 +272,13 @@ buildPythonPackage (finalAttrs: { "test_signature_from_callable_with_keyword_only_arguments" ]; + disabledTestPaths = [ + # TypeError: pytest.approx() does not support nan_ok for datetime/timedelta comparisons. + "ibis/backends/tests/tpc/h/test_queries.py::test_18" + "ibis/backends/tests/tpc/h/test_queries.py::test_03" + "ibis/backends/tests/tpc/ds/test_queries.py::test_51" + ]; + # patch out tests that check formatting with black postPatch = '' find ibis/tests -type f -name '*.py' -exec sed -i \ diff --git a/pkgs/development/python-modules/icecream/default.nix b/pkgs/development/python-modules/icecream/default.nix index e232eedd65c3..6ef3825e89b4 100644 --- a/pkgs/development/python-modules/icecream/default.nix +++ b/pkgs/development/python-modules/icecream/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "icecream"; - version = "2.1.10"; + version = "2.2.0"; pyproject = true; src = fetchFromGitHub { owner = "gruns"; repo = "icecream"; tag = "v${version}"; - hash = "sha256-5PFl+DIsWGbh2VR+xW/L9fYBF0VCo1B10b+mzsq85As="; + hash = "sha256-8y109lTvZS50sBNzsgxxyIDf5w3gAou7RK1NxiGIziQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/imagesize/default.nix b/pkgs/development/python-modules/imagesize/default.nix index 166bf5e79121..e91a4f8b60bb 100644 --- a/pkgs/development/python-modules/imagesize/default.nix +++ b/pkgs/development/python-modules/imagesize/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "imagesize"; - version = "1.4.1"; + version = "2.0.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-aRUERK/7nLDVzFqSs2dvCy+3zZrjnpR6XhGja0SXzUo="; + hash = "sha256-joNYxKBcME8fzPf/lvA25yQ6GJ6eQukIUZk8VYz+nuM="; }; meta = { diff --git a/pkgs/development/python-modules/imgw-pib/default.nix b/pkgs/development/python-modules/imgw-pib/default.nix index 0aa17abffc1d..4346488707c2 100644 --- a/pkgs/development/python-modules/imgw-pib/default.nix +++ b/pkgs/development/python-modules/imgw-pib/default.nix @@ -8,6 +8,7 @@ freezegun, lib, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -28,6 +29,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + pythonRelaxDeps = [ "aiohttp" ]; diff --git a/pkgs/development/python-modules/infrared-protocols/default.nix b/pkgs/development/python-modules/infrared-protocols/default.nix index 839e13159529..5654af041975 100644 --- a/pkgs/development/python-modules/infrared-protocols/default.nix +++ b/pkgs/development/python-modules/infrared-protocols/default.nix @@ -18,6 +18,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-6kyb0a0cCwVSS4evDGg0Z7wLGhDUHnLeXUJ9PW+fhHk="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools>=78.1.1,<83.0" setuptools + ''; + build-system = [ setuptools ]; pythonImportsCheck = [ "infrared_protocols" ]; diff --git a/pkgs/development/python-modules/inkex/default.nix b/pkgs/development/python-modules/inkex/default.nix index e3633c2c536d..a65642f7d2ee 100644 --- a/pkgs/development/python-modules/inkex/default.nix +++ b/pkgs/development/python-modules/inkex/default.nix @@ -62,6 +62,9 @@ buildPythonPackage { pythonImportsCheck = [ "inkex" ]; + # The inkex version isn't update in tandem with inkscape + dontCheckPythonMetadata = true; + nativeCheckInputs = [ gobject-introspection pytestCheckHook diff --git a/pkgs/development/python-modules/inline-snapshot/default.nix b/pkgs/development/python-modules/inline-snapshot/default.nix index 56968ab958bb..fd694d13f53d 100644 --- a/pkgs/development/python-modules/inline-snapshot/default.nix +++ b/pkgs/development/python-modules/inline-snapshot/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "inline-snapshot"; - version = "0.32.5"; + version = "0.34.2"; pyproject = true; src = fetchFromGitHub { owner = "15r10nk"; repo = "inline-snapshot"; tag = version; - hash = "sha256-xnooMIm0UiNOWrZ4JZwbpFzliGsTF7b1DAXi1fxMb30="; + hash = "sha256-4Uvc925/6RxJRHjP3SZaB7T+gqky5KlL9agHy/14Jd0="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/ipfshttpclient/default.nix b/pkgs/development/python-modules/ipfshttpclient/default.nix index bcfab5aceb59..4e1d3160fab9 100644 --- a/pkgs/development/python-modules/ipfshttpclient/default.nix +++ b/pkgs/development/python-modules/ipfshttpclient/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, flit-core, python, - py-multiaddr, + multiaddr, requests, pytestCheckHook, pytest-cov-stub, @@ -34,7 +34,7 @@ buildPythonPackage rec { nativeBuildInputs = [ flit-core ]; propagatedBuildInputs = [ - py-multiaddr + multiaddr requests ]; diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index 9d9e1d227c5b..208bc638c649 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -85,7 +85,12 @@ buildPythonPackage (finalAttrs: { testpath ]; - disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin) [ + disabledTests = [ + # timing sensitive + "test_debug_magic_passes_through_generators" + "test_nest_embed" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ # FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste' "test_clipboard_get" ]; diff --git a/pkgs/development/python-modules/iso4217/default.nix b/pkgs/development/python-modules/iso4217/default.nix index 43d3e5c85349..676611e8a737 100644 --- a/pkgs/development/python-modules/iso4217/default.nix +++ b/pkgs/development/python-modules/iso4217/default.nix @@ -26,6 +26,12 @@ buildPythonPackage rec { hash = "sha256-C7TwGlbTwpcJ0rE7notWzZHthWzXKMPbHq00zMhfHeA="; }; + postPatch = '' + # get_version() appends a date to the version prefix + substituteInPlace setup.py \ + --replace-fail 'version=get_version()' 'version="${version}"' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/isort/default.nix b/pkgs/development/python-modules/isort/default.nix index 3e79a6888b69..6d404805eb06 100644 --- a/pkgs/development/python-modules/isort/default.nix +++ b/pkgs/development/python-modules/isort/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "isort"; - version = "7.0.0"; + version = "8.0.1"; pyproject = true; src = fetchFromGitHub { owner = "PyCQA"; repo = "isort"; tag = version; - hash = "sha256-GN76dLk+Ju+Do/BymIuHD/9KAjYZ3sKvfz2cvNEnF5U="; + hash = "sha256-adEAWbRY+bCji4TfnS8W5p5KvuSjmLQrqhi+n8mSQPA="; }; build-system = [ diff --git a/pkgs/development/python-modules/iterative-telemetry/default.nix b/pkgs/development/python-modules/iterative-telemetry/default.nix index 6e7f0ab17ca8..7312b62bd3fc 100644 --- a/pkgs/development/python-modules/iterative-telemetry/default.nix +++ b/pkgs/development/python-modules/iterative-telemetry/default.nix @@ -12,7 +12,7 @@ }: buildPythonPackage rec { - pname = "iterative-telemtry"; + pname = "iterative-telemetry"; version = "0.0.10"; pyproject = true; diff --git a/pkgs/development/python-modules/jaraco-test/default.nix b/pkgs/development/python-modules/jaraco-test/default.nix index fb486648941d..ac2b00d03476 100644 --- a/pkgs/development/python-modules/jaraco-test/default.nix +++ b/pkgs/development/python-modules/jaraco-test/default.nix @@ -9,16 +9,16 @@ pytest8_3CheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "jaraco-test"; - version = "5.6.0"; + version = "5.7.0"; pyproject = true; src = fetchFromGitHub { owner = "jaraco"; repo = "jaraco.test"; - tag = "v${version}"; - hash = "sha256-Ym0r92xCh+DNpFexqPlRVgcDGYNvnaJHEs5/RMaUr+s="; + tag = "v${finalAttrs.version}"; + hash = "sha256-c8N4Q4zNZolhJ9osBOaorWXNINnuA5PV0y5DHZISHaY="; }; postPatch = '' @@ -41,8 +41,8 @@ buildPythonPackage rec { meta = { description = "Testing support by jaraco"; homepage = "https://github.com/jaraco/jaraco.test"; - changelog = "https://github.com/jaraco/jaraco.test/blob/${src.tag}/NEWS.rst"; + changelog = "https://github.com/jaraco/jaraco.test/blob/${finalAttrs.src.tag}/NEWS.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/joblib/default.nix b/pkgs/development/python-modules/joblib/default.nix index 2474439fc910..b4b9c7bf2217 100644 --- a/pkgs/development/python-modules/joblib/default.nix +++ b/pkgs/development/python-modules/joblib/default.nix @@ -5,6 +5,14 @@ pythonAtLeast, stdenv, + # sets various thread limit env vars for packages + # invoking joblib during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: + # https://github.com/joblib/joblib/blob/b030e4e1ed6a227c0e587c31b266c03b3b692372/joblib/_parallel_backends.py#L59-L67 + # https://github.com/joblib/joblib/blob/b030e4e1ed6a227c0e587c31b266c03b3b692372/joblib/_parallel_backends.py#L221-L248 + checkPhaseThreadLimitHook, + # build-system setuptools, @@ -40,6 +48,14 @@ buildPythonPackage rec { threadpoolctl ]; + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + + # joblib expects to set thread limits itself while checking for propagation of thread limit environment variables. + # Setting these via checkPhaseThreadLimitHook on joblib itself causes tests to fail, but we do want the hook to propagate. + dontLimitCheckPhaseThreads = true; + enabledTestPaths = [ "joblib/test" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/json-home-client/default.nix b/pkgs/development/python-modules/json-home-client/default.nix index 828c18e1f5a0..849b2a0398b1 100644 --- a/pkgs/development/python-modules/json-home-client/default.nix +++ b/pkgs/development/python-modules/json-home-client/default.nix @@ -5,12 +5,13 @@ # build inputs typing-extensions, uri-template, + setuptools, }: buildPythonPackage rec { pname = "json-home-client"; version = "1.1.1"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "plinss"; @@ -23,7 +24,9 @@ buildPythonPackage rec { sed -i -e 's/0.0.0/${version}/' setup.py ''; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependenceis = [ typing-extensions uri-template ]; @@ -31,6 +34,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "json_home_client" ]; meta = { + broken = lib.versionAtLeast setuptools.version "82"; description = "Client class for calling http+json APIs in Python"; homepage = "https://github.com/plinss/json_home_client"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/jsonpath-ng/default.nix b/pkgs/development/python-modules/jsonpath-ng/default.nix index ecb4e0ba9df3..d826559764f4 100644 --- a/pkgs/development/python-modules/jsonpath-ng/default.nix +++ b/pkgs/development/python-modules/jsonpath-ng/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + hypothesis, ply, pytestCheckHook, setuptools, @@ -9,7 +10,7 @@ buildPythonPackage rec { pname = "jsonpath-ng"; - version = "1.7.0"; + version = "1.8.0"; format = "setuptools"; # TODO: typo; change to pyproject = true; pypropject = true; @@ -18,14 +19,17 @@ buildPythonPackage rec { owner = "h2non"; repo = "jsonpath-ng"; tag = "v${version}"; - hash = "sha256-sfIqEc5SsNQYxK+Ur00fFdVoC0ysOkHrx4Cq/3SpGHw="; + hash = "sha256-soCSMOHJpAM/tOaydvv8tGS/VewtSMBteDNipSPttI0="; }; build-system = [ setuptools ]; dependencies = [ ply ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + hypothesis + pytestCheckHook + ]; pythonImportsCheck = [ "jsonpath_ng" ]; diff --git a/pkgs/development/python-modules/jsonpointer/default.nix b/pkgs/development/python-modules/jsonpointer/default.nix index b35689eb9b38..87858e87729e 100644 --- a/pkgs/development/python-modules/jsonpointer/default.nix +++ b/pkgs/development/python-modules/jsonpointer/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "jsonpointer"; - version = "3.0.0"; + version = "3.1.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-Ky1ynyCRUi1hw7MfguEYcPYLaPQ/vHBct2v0uDKvWe8="; + hash = "sha256-C4AcfbM6kEAk9gBNUm3MU7u4pKD04yv9EL6t9grfGQA="; }; meta = { diff --git a/pkgs/development/python-modules/jupyter-server/default.nix b/pkgs/development/python-modules/jupyter-server/default.nix index f041ec23b306..df50cfdf82f9 100644 --- a/pkgs/development/python-modules/jupyter-server/default.nix +++ b/pkgs/development/python-modules/jupyter-server/default.nix @@ -34,13 +34,13 @@ buildPythonPackage rec { pname = "jupyter-server"; - version = "2.17.0"; + version = "2.20.0"; pyproject = true; src = fetchPypi { pname = "jupyter_server"; inherit version; - hash = "sha256-w46omFZpZMiItHcq4e1Y7KhFkuiCUdLPxNFx+B9+mdU="; + hash = "sha256-tXeLozfYAVo9wrgIA+zdWsGNN5f932GlDqX7RytOvhQ="; }; build-system = [ diff --git a/pkgs/development/python-modules/kgb/default.nix b/pkgs/development/python-modules/kgb/default.nix index 4b1a565fe73b..569e6e8583f4 100644 --- a/pkgs/development/python-modules/kgb/default.nix +++ b/pkgs/development/python-modules/kgb/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-hNJXoUIyrCB9PCWLCmN81F6pBRwZApDR6JWA0adyklw="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "tag_build = .dev" "" + ''; + build-system = [ setuptools ]; pythonImportsCheck = [ "kgb" ]; diff --git a/pkgs/development/python-modules/kiwisolver/default.nix b/pkgs/development/python-modules/kiwisolver/default.nix index a61ea5957552..11293cc11725 100644 --- a/pkgs/development/python-modules/kiwisolver/default.nix +++ b/pkgs/development/python-modules/kiwisolver/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "kiwisolver"; - version = "1.4.9"; + version = "1.5.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-w7IsJsb9aBGwroNjuVyozk6jwgLT0JdbKRQxDOsbzE0="; + hash = "sha256-1Bk/PZ3D9veartDlY39F2YhQ6/AffKIOaUV/PolGtmo="; }; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${lib.getInclude stdenv.cc.libcxx}/include/c++/v1"; diff --git a/pkgs/development/python-modules/knocki/default.nix b/pkgs/development/python-modules/knocki/default.nix index 6073ba2b48c4..4400dba5559e 100644 --- a/pkgs/development/python-modules/knocki/default.nix +++ b/pkgs/development/python-modules/knocki/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytestCheckHook, pytest-aiohttp, pytest-cov-stub, @@ -28,6 +29,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/laszip/default.nix b/pkgs/development/python-modules/laszip/default.nix index 50bc114b7f7e..04c56f831b45 100644 --- a/pkgs/development/python-modules/laszip/default.nix +++ b/pkgs/development/python-modules/laszip/default.nix @@ -14,7 +14,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "laszip-python"; + pname = "laszip"; version = "0.3.0"; pyproject = true; diff --git a/pkgs/development/python-modules/letpot/default.nix b/pkgs/development/python-modules/letpot/default.nix index 27cc39a877af..18d8f6778fdc 100644 --- a/pkgs/development/python-modules/letpot/default.nix +++ b/pkgs/development/python-modules/letpot/default.nix @@ -6,6 +6,7 @@ freezegun, lib, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-w4WS0AyNd4dNtA/fBKieDW2YXwBFltRkJvaGemRjsv4="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/lg-rs232-tv/default.nix b/pkgs/development/python-modules/lg-rs232-tv/default.nix index 0b259670027d..ee78cae64c73 100644 --- a/pkgs/development/python-modules/lg-rs232-tv/default.nix +++ b/pkgs/development/python-modules/lg-rs232-tv/default.nix @@ -5,6 +5,7 @@ uv-build, serialx, aiowebostv, + pyprojectVersionPatchHook, pytest-asyncio, pytest-timeout, pytestCheckHook, @@ -27,6 +28,8 @@ buildPythonPackage (finalAttrs: { --replace-fail "uv_build>=0.8.4,<0.9.0" "uv_build" ''; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ uv-build ]; dependencies = [ serialx ]; diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix index 7b8a5cf6a795..2572205c72d5 100644 --- a/pkgs/development/python-modules/librosa/default.nix +++ b/pkgs/development/python-modules/librosa/default.nix @@ -34,7 +34,6 @@ resampy, samplerate, writableTmpDirAsHomeHook, - pythonAtLeast, }: buildPythonPackage (finalAttrs: { @@ -134,13 +133,7 @@ buildPythonPackage (finalAttrs: { "test_istft_multi" "test_pitch_shift_multi" "test_time_stretch_multi" - ] - ++ lib.optionals (pythonAtLeast "3.14") [ - # ValueError: cannot resize an array that references or is referenced - "test_resample_mono" "test_resample_multichannel" - "test_resample_scale" - "test_resample_stereo" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/librt/default.nix b/pkgs/development/python-modules/librt/default.nix index 628f0e68b0ab..201feef125e9 100644 --- a/pkgs/development/python-modules/librt/default.nix +++ b/pkgs/development/python-modules/librt/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "librt"; - version = "0.11.0"; + version = "0.13.0"; pyproject = true; src = fetchFromGitHub { owner = "mypyc"; repo = "librt"; tag = "v${version}"; - hash = "sha256-y9z1EdrZRiDtT8cxz/Ex/f6B/RfjnAXdGf7tM+77HGg="; + hash = "sha256-DeeuUmMwm1Lg078qsdye1ZG08pZ36jBF2PdfV3f+fOs="; }; # https://github.com/mypyc/librt/blob/v0.7.8/.github/workflows/buildwheels.yml#L90-L93 diff --git a/pkgs/development/python-modules/libvalkey/default.nix b/pkgs/development/python-modules/libvalkey/default.nix index 0119e61608f2..06a80ff2db52 100644 --- a/pkgs/development/python-modules/libvalkey/default.nix +++ b/pkgs/development/python-modules/libvalkey/default.nix @@ -7,7 +7,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "libvalkey-py"; + pname = "libvalkey"; version = "4.0.1"; pyproject = true; diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix index cb855b02e33c..cf6f99de27c4 100644 --- a/pkgs/development/python-modules/llvmlite/default.nix +++ b/pkgs/development/python-modules/llvmlite/default.nix @@ -9,7 +9,7 @@ cmake, ninja, - llvm_20, + llvm_22, libxml2, # tests @@ -19,12 +19,12 @@ }: let - llvm = llvm_20; + llvm = llvm_22; in buildPythonPackage rec { pname = "llvmlite"; - version = "0.47.0"; + version = "0.48.0"; pyproject = true; disabled = isPyPy; @@ -33,7 +33,7 @@ buildPythonPackage rec { owner = "numba"; repo = "llvmlite"; tag = "v${version}"; - hash = "sha256-YEIdIdbk19JHYtgL2gWjnAUYu13CH+7ikoyBUkOPpws="; + hash = "sha256-qFly3Thx0jkCHy6r8+VWuGROUj910oHBEQFMZlAX1aw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/london-tube-status/default.nix b/pkgs/development/python-modules/london-tube-status/default.nix index 9f47872987fd..656ff7b39003 100644 --- a/pkgs/development/python-modules/london-tube-status/default.nix +++ b/pkgs/development/python-modules/london-tube-status/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-0uDCrF3abx94X47LQxgALirSF/spJPVD91G2WqXaDVs="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "0.6.1"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/mako/default.nix b/pkgs/development/python-modules/mako/default.nix index a317e542fc80..20da44ffd62a 100644 --- a/pkgs/development/python-modules/mako/default.nix +++ b/pkgs/development/python-modules/mako/default.nix @@ -32,6 +32,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-YIMmP8CIGUlgnB8/96lR9yDvEZTES766dSN0vT0JfbM="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "tag_build = dev" "" + ''; + build-system = [ setuptools_80 ]; dependencies = [ markupsafe ]; diff --git a/pkgs/development/python-modules/marisa-trie/default.nix b/pkgs/development/python-modules/marisa-trie/default.nix index 4cce1653ace1..8ced31257c98 100644 --- a/pkgs/development/python-modules/marisa-trie/default.nix +++ b/pkgs/development/python-modules/marisa-trie/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "marisa-trie"; - version = "1.3.1"; + version = "1.4.1"; pyproject = true; src = fetchFromGitHub { owner = "pytries"; repo = "marisa-trie"; tag = version; - hash = "sha256-7T0V5levh9xjWmjJdFix0p8L3lZhfurikSWMI7Hotbs="; + hash = "sha256-U3gntlvJ0IaWoK+2V0OQ/XoDLfQsSbrrsSj95VR1m+4="; }; patches = [ diff --git a/pkgs/development/python-modules/marisa-trie/unvendor-marisa.patch b/pkgs/development/python-modules/marisa-trie/unvendor-marisa.patch index 69c0ee46678b..7c0b42b92c61 100644 --- a/pkgs/development/python-modules/marisa-trie/unvendor-marisa.patch +++ b/pkgs/development/python-modules/marisa-trie/unvendor-marisa.patch @@ -1,13 +1,20 @@ diff --git a/setup.py b/setup.py -index 133ba37..1026947 100755 +index 3b86748..543f5b8 100644 --- a/setup.py +++ b/setup.py -@@ -26,19 +26,11 @@ extensions = [ - "marisa_trie", +@@ -7,7 +7,7 @@ from setuptools import setup, Extension + + MARISA_ROOT_DIR = Path("marisa-trie") + MARISA_SOURCE_DIR = MARISA_ROOT_DIR / "lib" +-MARISA_INCLUDE_DIR = MARISA_ROOT_DIR / "include" ++MARISA_INCLUDE_DIR = Path("@marisa@") / "include" + MARISA_FILES = [ + "marisa/*.cc", + "marisa/grimoire.cc", +@@ -27,19 +27,11 @@ extensions = [ sources=["src/*.pyx"], language="c++", -- include_dirs=[str(MARISA_INCLUDE_DIR)], -+ include_dirs=["@marisa@/include"], + include_dirs=[str(MARISA_INCLUDE_DIR)], + libraries=["marisa"], ), ] @@ -22,5 +29,6 @@ index 133ba37..1026947 100755 - }, - ) - ], - ext_modules=cythonize(extensions, language_level="3"), - ) + ext_modules=cythonize( + extensions, + language_level="3", diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix index 4fbe2e0380ce..58f911fe0700 100644 --- a/pkgs/development/python-modules/markdown-it-py/default.nix +++ b/pkgs/development/python-modules/markdown-it-py/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "markdown-it-py"; - version = "4.0.0"; + version = "4.2.0"; pyproject = true; src = fetchFromGitHub { owner = "executablebooks"; repo = "markdown-it-py"; tag = "v${version}"; - hash = "sha256-92J9cMit2zwyjoE8G1YpwDxj+wiApQW2eUHxUOUt3as="; + hash = "sha256-S3xDPvnGqawsxAUcrMF/3a4jds6i+zfPLMpyvduaDpE="; }; # fix downstrem usage of markdown-it-py[linkify] diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix index a76693c0b793..52f5633415f6 100644 --- a/pkgs/development/python-modules/marshmallow/default.nix +++ b/pkgs/development/python-modules/marshmallow/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "marshmallow"; - version = "4.2.0"; + version = "4.3.0"; pyproject = true; src = fetchFromGitHub { owner = "marshmallow-code"; repo = "marshmallow"; tag = version; - hash = "sha256-UrkaKQUZ4fjemaAqd+T5nD5S1vuS1AS1CNZVDhJY9Y8="; + hash = "sha256-KNxR8AiEJ9S15G5l3rB48BvLdgB5s6q6L1I83V7iMv0="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/mashumaro/default.nix b/pkgs/development/python-modules/mashumaro/default.nix index 88e4f1ad479e..5c8c5ea9c2c7 100644 --- a/pkgs/development/python-modules/mashumaro/default.nix +++ b/pkgs/development/python-modules/mashumaro/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "mashumaro"; - version = "3.21"; + version = "3.22"; pyproject = true; src = fetchFromGitHub { owner = "Fatal1ty"; repo = "mashumaro"; tag = "v${version}"; - hash = "sha256-SWmZA/yoiElQ299+BkjwTdcPukKfgw/UgUwiesFRkqo="; + hash = "sha256-/aAyylHOEjSmcjb+OKDNY0OOlR2JXepvVpVsfGbKSyw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/matplotlib-inline/default.nix b/pkgs/development/python-modules/matplotlib-inline/default.nix index f1c2c27c7145..ff0cf0fdbd20 100644 --- a/pkgs/development/python-modules/matplotlib-inline/default.nix +++ b/pkgs/development/python-modules/matplotlib-inline/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "matplotlib-inline"; - version = "0.2.1"; + version = "0.2.2"; pyproject = true; src = fetchFromGitHub { owner = "ipython"; repo = "matplotlib-inline"; tag = version; - hash = "sha256-qExS0SsbnYgu0wFTew90z5QwPyJ+UWGVEgFURSMedSY="; + hash = "sha256-pLJGwykQ0+LK+cljGQmkSDuBSAdGq+SCPYGQ0ZF7nq0="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix index bee69a777e5e..ab1d363fc6ab 100644 --- a/pkgs/development/python-modules/matplotlib/default.nix +++ b/pkgs/development/python-modules/matplotlib/default.nix @@ -62,9 +62,6 @@ # Reverse dependency sage, - - # TODO: Clean up on `staging`. - llvmPackages, }: let @@ -107,12 +104,7 @@ buildPythonPackage (finalAttrs: { --replace-fail libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0 ''; - nativeBuildInputs = [ - pkg-config - ] - ++ lib.optionals enableGtk3 [ gobject-introspection ] - # TODO: Clean up on `staging`. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.lld ]; + nativeBuildInputs = [ pkg-config ] ++ lib.optionals enableGtk3 [ gobject-introspection ]; buildInputs = [ ffmpeg-headless @@ -168,11 +160,6 @@ buildPythonPackage (finalAttrs: { b_lto = false; }; - # TODO: Clean up on `staging`. - env.${if stdenv.hostPlatform.isDarwin then "CC_LD" else null} = "lld"; - env.${if stdenv.hostPlatform.isDarwin then "CXX_LD" else null} = "lld"; - env.${if stdenv.hostPlatform.isDarwin then "OBJC_LD" else null} = "lld"; - passthru.tests = { inherit sage; }; diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix index 75385ef5f24f..7ca6a5b9fe3a 100644 --- a/pkgs/development/python-modules/matrix-nio/default.nix +++ b/pkgs/development/python-modules/matrix-nio/default.nix @@ -60,6 +60,13 @@ buildPythonPackage rec { ./allow-tests-without-olm.patch ]; + postPatch = '' + # Fix yarl compat about url normalization + substituteInPlace tests/async_client_test.py \ + --replace-fail "?&" "?" + + ''; + build-system = [ setuptools ]; dependencies = [ @@ -115,6 +122,9 @@ buildPythonPackage rec { "test_connect_wrapper" # time dependent and flaky "test_transfer_monitor_callbacks" + # _plain_data_generator yields str but test expectes bytes + "test_upload_retry" + "test_upload_text_file_object" ] ++ lib.optionals (!withOlm) [ "test_client_account_sharing" diff --git a/pkgs/development/python-modules/mcp/default.nix b/pkgs/development/python-modules/mcp/default.nix index 0ddad0e922cf..3b3d2d662f35 100644 --- a/pkgs/development/python-modules/mcp/default.nix +++ b/pkgs/development/python-modules/mcp/default.nix @@ -109,6 +109,10 @@ buildPythonPackage (finalAttrs: { ] ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = [ # attempts to run the package manager uv "test_command_execution" diff --git a/pkgs/development/python-modules/mdit-py-plugins/default.nix b/pkgs/development/python-modules/mdit-py-plugins/default.nix index a8fecfd52e2e..e59aad6093a5 100644 --- a/pkgs/development/python-modules/mdit-py-plugins/default.nix +++ b/pkgs/development/python-modules/mdit-py-plugins/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "mdit-py-plugins"; - version = "0.5.0"; + version = "0.6.1"; pyproject = true; src = fetchFromGitHub { owner = "executablebooks"; repo = "mdit-py-plugins"; tag = "v${finalAttrs.version}"; - hash = "sha256-MQU6u49KsWGaKeWU5v066kZidcfCoubqClxAapAZb9A="; + hash = "sha256-rG9l45V+qsXZmBpRGkt1zuCRJVOsEC+Z2WrplQ1oGSo="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/meteo-lt-pkg/default.nix b/pkgs/development/python-modules/meteo-lt-pkg/default.nix index dd1639485fce..8b9cc97c733f 100644 --- a/pkgs/development/python-modules/meteo-lt-pkg/default.nix +++ b/pkgs/development/python-modules/meteo-lt-pkg/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, lib, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -22,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/minimock/default.nix b/pkgs/development/python-modules/minimock/default.nix index fa45081db6a1..45800dd802ef 100644 --- a/pkgs/development/python-modules/minimock/default.nix +++ b/pkgs/development/python-modules/minimock/default.nix @@ -17,6 +17,11 @@ buildPythonPackage rec { hash = "sha256-Ut3iKc7Sr28uGgWCV3K3CS+gBta2icvbUPMjjo4fflU="; }; + postPatch = '' + substituteInPlace minimock.py \ + --replace-fail "__version__ = '1.2.10.dev0'" "__version__ = '${version}'" + ''; + nativeBuildInputs = [ setuptools ]; # Module has no tests diff --git a/pkgs/development/python-modules/mistune/default.nix b/pkgs/development/python-modules/mistune/default.nix index 99f3922ee0fa..c1d564dbab7b 100644 --- a/pkgs/development/python-modules/mistune/default.nix +++ b/pkgs/development/python-modules/mistune/default.nix @@ -6,16 +6,16 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "mistune"; - version = "3.3.2"; + version = "3.3.3"; pyproject = true; src = fetchFromGitHub { owner = "lepture"; repo = "mistune"; - tag = "v${version}"; - hash = "sha256-uyOJFtDvVn0Y3VypphOXsSW3pX5XVCcfQ7dtFiL/5qY="; + tag = "v${finalAttrs.version}"; + hash = "sha256-AAOpQ3GMEifMVM1SaT5zVltIshAQt5SYqCtIvdjy20M="; }; build-system = [ setuptools ]; @@ -25,10 +25,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "mistune" ]; meta = { - changelog = "https://github.com/lepture/mistune/blob/${src.tag}/docs/changes.rst"; + changelog = "https://github.com/lepture/mistune/blob/${finalAttrs.src.tag}/docs/changes.rst"; description = "Sane Markdown parser with useful plugins and renderers"; homepage = "https://github.com/lepture/mistune"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix index 23aff9befea6..9cf7a46fc8ea 100644 --- a/pkgs/development/python-modules/mock/default.nix +++ b/pkgs/development/python-modules/mock/default.nix @@ -3,18 +3,21 @@ buildPythonPackage, fetchPypi, pytestCheckHook, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "mock"; version = "5.2.0"; - format = "setuptools"; + pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-TkYOgYYptLFz8y0IvzDTr4Ejr7uOBLtXB6H9R5nlA/A="; }; + build-system = [ setuptools ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "mock" ]; @@ -22,8 +25,8 @@ buildPythonPackage rec { meta = { description = "Rolling backport of unittest.mock for all Pythons"; homepage = "https://github.com/testing-cabal/mock"; - changelog = "https://github.com/testing-cabal/mock/blob/${version}/CHANGELOG.rst"; + changelog = "https://github.com/testing-cabal/mock/blob/${finalAttrs.version}/CHANGELOG.rst"; license = lib.licenses.bsd2; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix index 4d5373b9457e..a1a3bc5d507d 100644 --- a/pkgs/development/python-modules/mocket/default.nix +++ b/pkgs/development/python-modules/mocket/default.nix @@ -37,12 +37,12 @@ buildPythonPackage rec { pname = "mocket"; - version = "3.14.2"; + version = "3.14.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-n8SQbK45B+mijEbnc/Otq+8NX0CIxuOQ72FEAhnOCac="; + hash = "sha256-lDDPfk8a1/HPxIzgCKv4eq+asnJkFsWBCUROnF6g+wg="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/more-itertools/default.nix b/pkgs/development/python-modules/more-itertools/default.nix index ed87a53aac5e..cc2d701e3c5f 100644 --- a/pkgs/development/python-modules/more-itertools/default.nix +++ b/pkgs/development/python-modules/more-itertools/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "more-itertools"; - version = "10.8.0"; + version = "11.1.0"; pyproject = true; src = fetchFromGitHub { owner = "more-itertools"; repo = "more-itertools"; tag = "v${version}"; - hash = "sha256-ZKvucnPFCA6Q4EQn/nKC9LIevOdSYXHIJ3w3Frregic="; + hash = "sha256-fk2QRwOYgYfANtwRpEtGK5F+rRI2Gj25l0XaP9svJz8="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/more-properties/default.nix b/pkgs/development/python-modules/more-properties/default.nix deleted file mode 100644 index 0a62ed9c4ac2..000000000000 --- a/pkgs/development/python-modules/more-properties/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - lib, - buildPythonPackage, - pythonAtLeast, - fetchFromGitHub, - setuptools, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "more-properties"; - version = "1.1.1"; - pyproject = true; - - # All tests are failing with: - # AssertionError: None != 'The type of the None singleton.' - disabled = pythonAtLeast "3.13"; - - src = fetchFromGitHub { - owner = "madman-bob"; - repo = "python-more-properties"; - tag = version; - hash = "sha256-dKG97rw5IG19m7u3ZDBM2yGScL5cFaKBvGZxPVJaUTE="; - }; - - postPatch = '' - mv pypi_upload/setup.py . - substituteInPlace setup.py \ - --replace-fail "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]" - ''; - - build-system = [ - setuptools - ]; - - pythonRemoveDeps = [ - # dataclasses is included in Python since 3.7 - "dataclasses" - ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - pythonImportsCheck = [ "more_properties" ]; - - meta = { - description = "Collection of property variants"; - homepage = "https://github.com/madman-bob/python-more-properties"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index 88429d2befe8..734f846a2c2f 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -21,6 +21,7 @@ multipart, openapi-spec-validator, py-partiql-parser, + pyotp, pyparsing, pytest-order, pytest-xdist, @@ -36,14 +37,14 @@ buildPythonPackage rec { pname = "moto"; - version = "5.1.20"; + version = "5.2.2"; pyproject = true; src = fetchFromGitHub { owner = "getmoto"; repo = "moto"; tag = version; - hash = "sha256-YYRXGsdAsPk/0U8VTOBBTBs84xjskar1IczWOxoEFLQ="; + hash = "sha256-edMV/EDSVxbQfTjl81y4aM490qtt5NnHSFOvO5o015I="; }; build-system = [ @@ -303,6 +304,7 @@ buildPythonPackage rec { joserfc openapi-spec-validator py-partiql-parser + pyotp pyparsing pytest-order pytest-xdist @@ -395,6 +397,12 @@ buildPythonPackage rec { # Requires cfn-lint which is broken on Python 3.14 "tests/test_cloudformation/test_validate.py" + + # Unknown parameter in input: "BucketNamespace", must be one of: ACL, Bucket, CreateBucketConfiguration, GrantFullControl, GrantRead, GrantReadACP, GrantWrite, GrantWriteACP, ObjectLockEnabledForBucket, ObjectOwnership + "tests/test_s3/test_s3.py::test_create_bucket_account_regional_namespace" + "tests/test_s3/test_s3.py::test_create_bucket_account_regional_namespace_other_region" + "tests/test_s3/test_s3.py::test_create_bucket_account_regional_namespace_invalid_name" + "tests/test_ec2/test_instance_types.py::test_describe_instance_types_gpu_instance_types" ]; meta = { diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix index a1c3b14b6303..3f519e329565 100644 --- a/pkgs/development/python-modules/msgpack/default.nix +++ b/pkgs/development/python-modules/msgpack/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "msgpack"; - version = "1.1.2"; + version = "1.2.1"; pyproject = true; src = fetchFromGitHub { owner = "msgpack"; repo = "msgpack-python"; tag = "v${version}"; - hash = "sha256-9iFTQPAM6AAogcRUoCw5/bECNiGUwmAarEiwMJ+rqbk="; + hash = "sha256-L8nU+n0M3NJvQzjRlWESXvzP6CxR5CTSu7UkeGfHHUs="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/msgspec/default.nix b/pkgs/development/python-modules/msgspec/default.nix index c22c2630b14d..d990fcf7d05e 100644 --- a/pkgs/development/python-modules/msgspec/default.nix +++ b/pkgs/development/python-modules/msgspec/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { pname = "msgspec"; - version = "0.20.0"; + version = "0.21.1"; pyproject = true; src = fetchFromGitHub { @@ -34,7 +34,7 @@ buildPythonPackage rec { # use `$Format:%d$` in msgspec/_version.py, and GitHub produces different # tarballs depending on whether tagged commit is the last commit, see # https://github.com/NixOS/nixpkgs/issues/84312 - hash = "sha256-DWDmnSuo12oXl9NVfNhIOtWrQeJ9DMmHxOyHY33Datk="; + hash = "sha256-mjABnKhZeLLbSQPelZmi+UKZDEIiXi3c9shC8EG6tfE="; }; build-system = [ diff --git a/pkgs/development/python-modules/py-multiaddr/default.nix b/pkgs/development/python-modules/multiaddr/default.nix similarity index 98% rename from pkgs/development/python-modules/py-multiaddr/default.nix rename to pkgs/development/python-modules/multiaddr/default.nix index 9b002fd4058e..7f9849778956 100644 --- a/pkgs/development/python-modules/py-multiaddr/default.nix +++ b/pkgs/development/python-modules/multiaddr/default.nix @@ -17,7 +17,7 @@ }: buildPythonPackage rec { - pname = "py-multiaddr"; + pname = "multiaddr"; version = "0.0.11"; pyproject = true; diff --git a/pkgs/development/python-modules/myst-parser/default.nix b/pkgs/development/python-modules/myst-parser/default.nix index bb91e8e228b1..63a2bd08cd43 100644 --- a/pkgs/development/python-modules/myst-parser/default.nix +++ b/pkgs/development/python-modules/myst-parser/default.nix @@ -26,7 +26,7 @@ }: buildPythonPackage (finalAttrs: { pname = "myst-parser"; - version = "5.0.0"; + version = "5.1.0-unstable-2026-07-12"; pyproject = true; disabled = pythonOlder "3.11"; @@ -34,8 +34,8 @@ buildPythonPackage (finalAttrs: { src = fetchFromGitHub { owner = "executablebooks"; repo = "myst-parser"; - tag = "v${finalAttrs.version}"; - hash = "sha256-0lGejdGVVvZar3sPBbvThXzJML7PcR5+shyDHTTtVEY="; + rev = "e843b5ff61d9834b4864a95bf6a668909c2de3a6"; + hash = "sha256-lt2AECSVfakN63EcheYSdkHsQGl9pfcLhS9+lkMqQ7w="; }; build-system = [ flit-core ]; @@ -73,7 +73,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Sphinx and Docutils extension to parse MyST"; homepage = "https://myst-parser.readthedocs.io/"; - changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/${finalAttrs.src.tag}/CHANGELOG.md"; + # changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ loicreynier ]; }; diff --git a/pkgs/development/python-modules/nanobind/default.nix b/pkgs/development/python-modules/nanobind/default.nix index 1cb6bbfe82de..d584c34bd957 100644 --- a/pkgs/development/python-modules/nanobind/default.nix +++ b/pkgs/development/python-modules/nanobind/default.nix @@ -26,7 +26,7 @@ }: buildPythonPackage (finalAttrs: { pname = "nanobind"; - version = "2.12.0"; + version = "2.13.0"; pyproject = true; src = fetchFromGitHub { @@ -34,7 +34,7 @@ buildPythonPackage (finalAttrs: { repo = "nanobind"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-s9TshE3V50BtrnVv56j4BxZOloNsOVgi0PUT6xyF7yY="; + hash = "sha256-YAqjcVBkuNsXvrAaVmDRLQ1F38UBqdnIf8+OseNBzG4="; }; build-system = [ diff --git a/pkgs/development/python-modules/nbmake/default.nix b/pkgs/development/python-modules/nbmake/default.nix index f6780ba38981..89f208e77685 100644 --- a/pkgs/development/python-modules/nbmake/default.nix +++ b/pkgs/development/python-modules/nbmake/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system hatchling, @@ -33,6 +34,10 @@ buildPythonPackage rec { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ ipykernel nbclient diff --git a/pkgs/development/python-modules/nest-asyncio/default.nix b/pkgs/development/python-modules/nest-asyncio/default.nix index 652c276534b7..6420fe406bf8 100644 --- a/pkgs/development/python-modules/nest-asyncio/default.nix +++ b/pkgs/development/python-modules/nest-asyncio/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-5I5WItOl1QpyI4OXZgZf8GiQ7Jlo+SJbDicIbernaU4="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail 'version = 1.5.9' 'version = ${version}' + ''; + build-system = [ setuptools setuptools-scm diff --git a/pkgs/development/python-modules/netcdf4/default.nix b/pkgs/development/python-modules/netcdf4/default.nix index 07d4d53b75a4..482969f1a639 100644 --- a/pkgs/development/python-modules/netcdf4/default.nix +++ b/pkgs/development/python-modules/netcdf4/default.nix @@ -12,6 +12,7 @@ netcdf, numpy, oldest-supported-numpy, + pytest, python, setuptools-scm, stdenv, @@ -20,7 +21,7 @@ }: let - version = "1.7.2"; + version = "1.7.4"; suffix = lib.optionalString (lib.match ''.*\.post[0-9]+'' version == null) "rel"; tag = "v${version}${suffix}"; in @@ -35,7 +36,7 @@ buildPythonPackage { owner = "Unidata"; repo = "netcdf4-python"; inherit tag; - hash = "sha256-orwCHKOSam+2eRY/yAduFYWREOkJlWIJGIZPZwQZ/RI="; + hash = "sha256-b91Y6RnZ8JpaRBLwJqQ/I3a2rGGl9jv9tyGiI67Zbp4="; }; build-system = [ @@ -59,6 +60,10 @@ buildPythonPackage { zlib ]; + nativeCheckInputs = [ + pytest + ]; + checkPhase = '' runHook preCheck diff --git a/pkgs/development/python-modules/nextcloudmonitor/default.nix b/pkgs/development/python-modules/nextcloudmonitor/default.nix index 9333a1679db2..be23ee8ea5b5 100644 --- a/pkgs/development/python-modules/nextcloudmonitor/default.nix +++ b/pkgs/development/python-modules/nextcloudmonitor/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-748cDMxPjOQFKdSt1GrQqZHmPgz20HN1+lMzo2vMj6c="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="1.5.1"' 'version="${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/nocasedict/default.nix b/pkgs/development/python-modules/nocasedict/default.nix index 7dc6d610832a..c9267ca3f646 100644 --- a/pkgs/development/python-modules/nocasedict/default.nix +++ b/pkgs/development/python-modules/nocasedict/default.nix @@ -5,6 +5,7 @@ pytestCheckHook, setuptools, setuptools-scm, + typing-extensions, }: buildPythonPackage (finalAttrs: { @@ -24,6 +25,8 @@ buildPythonPackage (finalAttrs: { setuptools-scm ]; + dependencies = [ typing-extensions ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "nocasedict" ]; diff --git a/pkgs/development/python-modules/nocaselist/default.nix b/pkgs/development/python-modules/nocaselist/default.nix index 0b819851a617..fb8850c990e6 100644 --- a/pkgs/development/python-modules/nocaselist/default.nix +++ b/pkgs/development/python-modules/nocaselist/default.nix @@ -6,6 +6,7 @@ setuptools, setuptools-scm, six, + typing-extensions, }: buildPythonPackage rec { @@ -23,7 +24,10 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ six ]; + dependencies = [ + six + typing-extensions + ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/notify-py/default.nix b/pkgs/development/python-modules/notify-py/default.nix index cfd1b5a9e9ee..6927b2754871 100644 --- a/pkgs/development/python-modules/notify-py/default.nix +++ b/pkgs/development/python-modules/notify-py/default.nix @@ -13,6 +13,7 @@ pytest, dbus, coreutils, + pyprojectVersionPatchHook, }: buildPythonPackage rec { @@ -43,6 +44,10 @@ buildPythonPackage rec { ]; nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + + build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/nsw-fuel-api-client/default.nix b/pkgs/development/python-modules/nsw-fuel-api-client/default.nix index fc03069077b0..bf309741dbc0 100644 --- a/pkgs/development/python-modules/nsw-fuel-api-client/default.nix +++ b/pkgs/development/python-modules/nsw-fuel-api-client/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-3nkBDLmFOfYLvG5fi2subA9zxb51c7zWlhT4GaCQo9I="; }; + postPatch = '' + substituteInPlace nsw_fuel/__init__.py \ + --replace-fail '__version__ = "0.0.0-dev"' '__version__ = "${version}"' + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix index 11c25c98168d..dbf3255e8e66 100644 --- a/pkgs/development/python-modules/numba/default.nix +++ b/pkgs/development/python-modules/numba/default.nix @@ -8,6 +8,12 @@ # nativeBuildInputs setuptools, + # sets NUMBA_NUM_THREADS and OMP_NUM_THREADS for packages + # invoking numba during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: https://numba.readthedocs.io/en/stable/reference/envvars.html#threading-control + checkPhaseThreadLimitHook, + # dependencies llvmlite, numpy, @@ -36,7 +42,7 @@ let cudatoolkit = cudaPackages.cuda_nvcc; in buildPythonPackage (finalAttrs: { - version = "0.65.1"; + version = "0.66.0"; pname = "numba"; pyproject = true; @@ -52,7 +58,7 @@ buildPythonPackage (finalAttrs: { postFetch = '' sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${finalAttrs.src.tag})"/' $out/numba/_version.py ''; - hash = "sha256-DMmUyTElDFyMK4BUQ4EhDNmG43lOWQHurKbnSyhAs5k="; + hash = "sha256-qkljZWvd+1mwPm4okQBW8w0qCTQnEigM6QkZHN2iwyk="; }; patches = [ @@ -104,6 +110,10 @@ buildPythonPackage (finalAttrs: { writableTmpDirAsHomeHook ]; + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + # https://github.com/NixOS/nixpkgs/issues/255262 preCheck = '' cd $out diff --git a/pkgs/development/python-modules/numexpr/default.nix b/pkgs/development/python-modules/numexpr/default.nix index f4b552c108ec..39c0a4e673af 100644 --- a/pkgs/development/python-modules/numexpr/default.nix +++ b/pkgs/development/python-modules/numexpr/default.nix @@ -3,8 +3,14 @@ buildPythonPackage, fetchPypi, numpy, + pytest-run-parallel, pytestCheckHook, setuptools, + # sets NUMEXPR_NUM_THREADS and OMP_NUM_THREADS for packages + # invoking numexpr during checkPhase/installCheckPhase to + # avoid overloading builders with excessive parallelism + # See also: https://numexpr.readthedocs.io/en/latest/user_guide.html#threadpool-configuration + checkPhaseThreadLimitHook, }: buildPythonPackage rec { @@ -29,7 +35,17 @@ buildPythonPackage rec { ln -s ${numpy.cfg} site.cfg ''; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytest-run-parallel + pytestCheckHook + ]; + + propagatedNativeBuildInputs = [ + checkPhaseThreadLimitHook + ]; + + # tests check for OMP_NUM_THREADS application and complete quick enough + env.dontLimitCheckPhaseThreads = 1; preCheck = '' pushd $out diff --git a/pkgs/development/python-modules/numpy/1.nix b/pkgs/development/python-modules/numpy/1.nix index 7167ff94637e..c1c9cb2bed6e 100644 --- a/pkgs/development/python-modules/numpy/1.nix +++ b/pkgs/development/python-modules/numpy/1.nix @@ -18,7 +18,7 @@ blas, lapack, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, # Reverse dependency sage, @@ -112,7 +112,7 @@ buildPythonPackage (finalAttrs: { ]; propagatedNativeBuildInputs = [ - openmpCheckPhaseHook + checkPhaseThreadLimitHook ]; preCheck = '' diff --git a/pkgs/development/python-modules/numpy/2.nix b/pkgs/development/python-modules/numpy/2.nix index 4af4511fdc81..80bfe85db35a 100644 --- a/pkgs/development/python-modules/numpy/2.nix +++ b/pkgs/development/python-modules/numpy/2.nix @@ -19,7 +19,7 @@ coreutils, lapack, - openmpCheckPhaseHook, + checkPhaseThreadLimitHook, # Reverse dependency astropy, @@ -41,7 +41,7 @@ assert blas.isILP64 == lapack.isILP64; buildPythonPackage (finalAttrs: { pname = "numpy"; - version = "2.5.0"; + version = "2.5.1"; pyproject = true; src = fetchFromGitHub { @@ -49,7 +49,7 @@ buildPythonPackage (finalAttrs: { repo = "numpy"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-RiC1dLoDamK5B2VzHBL0V//K/Vix25q11wNGcl3Witk="; + hash = "sha256-IriSrnGAZHvJ7m97s12BydNQZDZunCVtRgj/iSgw5Vc="; }; postPatch = '' @@ -118,7 +118,7 @@ buildPythonPackage (finalAttrs: { ''; propagatedNativeBuildInputs = [ - openmpCheckPhaseHook + checkPhaseThreadLimitHook ]; preCheck = '' diff --git a/pkgs/development/python-modules/nyt-games/default.nix b/pkgs/development/python-modules/nyt-games/default.nix index 4a434194de3c..12249abf7c4e 100644 --- a/pkgs/development/python-modules/nyt-games/default.nix +++ b/pkgs/development/python-modules/nyt-games/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -28,6 +29,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/obsws-python/default.nix b/pkgs/development/python-modules/obsws-python/default.nix index f5beeab35a55..f66746bbbb14 100644 --- a/pkgs/development/python-modules/obsws-python/default.nix +++ b/pkgs/development/python-modules/obsws-python/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage (finalAttrs: { pname = "obsws-python"; - version = "5.5"; + version = "1.8.0"; pyproject = true; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/onnxconverter-common/default.nix b/pkgs/development/python-modules/onnxconverter-common/default.nix index af60351bba1b..95ca6b17ba91 100644 --- a/pkgs/development/python-modules/onnxconverter-common/default.nix +++ b/pkgs/development/python-modules/onnxconverter-common/default.nix @@ -11,16 +11,23 @@ onnxruntime, }: -buildPythonPackage rec { - pname = "onnxconverter-common"; - version = "0.16.0"; +let + version = "1.16.0"; +in +buildPythonPackage (finalAttrs: { + pname = "onnxconverter-common"; + version = + # prevent downgrade to 0.x tags, only 1.x are releases + # https://pypi.org/project/onnxconverter-common/#history + assert (lib.versionAtLeast version "1.0"); + version; pyproject = true; src = fetchFromGitHub { owner = "microsoft"; repo = "onnxconverter-common"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-M62mbIqFwnPdRlf6J8DrNRhLH0uHns51K/pWnWLxI5Q="; }; @@ -56,7 +63,7 @@ buildPythonPackage rec { meta = { description = "ONNX Converter and Optimization Tools"; homepage = "https://github.com/microsoft/onnxconverter-common"; - changelog = "https://github.com/microsoft/onnxconverter-common/releases/tag/${src.tag}"; + changelog = "https://github.com/microsoft/onnxconverter-common/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; }; -} +}) diff --git a/pkgs/development/python-modules/openai-whisper/default.nix b/pkgs/development/python-modules/openai-whisper/default.nix index 0fa011ac0a75..8ec856b23b72 100644 --- a/pkgs/development/python-modules/openai-whisper/default.nix +++ b/pkgs/development/python-modules/openai-whisper/default.nix @@ -27,7 +27,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "whisper"; + pname = "openai-whisper"; version = "20250625"; pyproject = true; __structuredAttrs = true; diff --git a/pkgs/development/python-modules/openant/default.nix b/pkgs/development/python-modules/openant/default.nix index e3a549fd5d03..f37cfd052dfc 100644 --- a/pkgs/development/python-modules/openant/default.nix +++ b/pkgs/development/python-modules/openant/default.nix @@ -11,7 +11,7 @@ }: buildPythonPackage rec { - pname = "openant-unstable"; + pname = "openant"; version = "1.3.1"; pyproject = true; diff --git a/pkgs/development/python-modules/openapi-core/default.nix b/pkgs/development/python-modules/openapi-core/default.nix index 81fb76e51861..81b42d959021 100644 --- a/pkgs/development/python-modules/openapi-core/default.nix +++ b/pkgs/development/python-modules/openapi-core/default.nix @@ -85,6 +85,12 @@ buildPythonPackage rec { ] ++ lib.concatAttrValues optional-dependencies; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + # Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead. + "-Wignore::starlette.exceptions.StarletteDeprecationWarning" + ]; + disabledTestPaths = [ # Requires secrets and additional configuration "tests/integration/contrib/django/" diff --git a/pkgs/development/python-modules/osadl-matrix/default.nix b/pkgs/development/python-modules/osadl-matrix/default.nix index 405fcc7e1e7d..f781f29389d7 100644 --- a/pkgs/development/python-modules/osadl-matrix/default.nix +++ b/pkgs/development/python-modules/osadl-matrix/default.nix @@ -24,6 +24,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-vcSaWDX8P07Bj035vGq5dZYO+WkZOod7tTubWygl27k="; }; + postPatch = '' + echo '${finalAttrs.version}' > VERSION + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/oschmod/default.nix b/pkgs/development/python-modules/oschmod/default.nix index 8ce9b703c6b2..e724623d1d90 100644 --- a/pkgs/development/python-modules/oschmod/default.nix +++ b/pkgs/development/python-modules/oschmod/default.nix @@ -3,6 +3,8 @@ buildPythonPackage, fetchPypi, setuptools, + mock, + pytest-mock, pytestCheckHook, }: @@ -18,7 +20,11 @@ buildPythonPackage rec { build-system = [ setuptools ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + mock + pytest-mock + pytestCheckHook + ]; pythonImportsCheck = [ "oschmod" ]; diff --git a/pkgs/development/python-modules/ourgroceries/default.nix b/pkgs/development/python-modules/ourgroceries/default.nix index 833f6072ae5b..b95a92ed680c 100644 --- a/pkgs/development/python-modules/ourgroceries/default.nix +++ b/pkgs/development/python-modules/ourgroceries/default.nix @@ -19,6 +19,11 @@ buildPythonPackage rec { hash = "sha256-tlgctQvbR2YzM6Q1A/P1i40LSt4/2hsetlDeO07RBPE="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='1.5.3'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/ovoenergy/default.nix b/pkgs/development/python-modules/ovoenergy/default.nix index fcb2e2207313..2303a97ebd9a 100644 --- a/pkgs/development/python-modules/ovoenergy/default.nix +++ b/pkgs/development/python-modules/ovoenergy/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { hash = "sha256-oWJxpiC83C/ghs/Ik8+DrPWtP/j5jWEZ3+9Nqg4ARKU="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix index 1d71451e962b..d54bc7dd25ac 100644 --- a/pkgs/development/python-modules/paho-mqtt/default.nix +++ b/pkgs/development/python-modules/paho-mqtt/default.nix @@ -1,6 +1,5 @@ { lib, - stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, @@ -65,6 +64,15 @@ buildPythonPackage rec { "test_01_zero_length_clientid" ]; + disabledTestPaths = [ + # Expired key material + # https://github.com/eclipse-paho/paho.mqtt.python/pull/854 + "tests/lib/test_08_ssl_connect_alpn.py" + "tests/lib/test_08_ssl_connect_cert_auth.py" + "tests/lib/test_08_ssl_connect_cert_auth_pw.py" + "tests/lib/test_08_ssl_connect_no_auth.py" + ]; + meta = { changelog = "https://github.com/eclipse/paho.mqtt.python/blob/${src.rev}/ChangeLog.txt"; description = "MQTT version 5.0/3.1.1 client class"; diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix index a0519d35c2ab..ddc10d53eb8f 100644 --- a/pkgs/development/python-modules/pandas/default.nix +++ b/pkgs/development/python-modules/pandas/default.nix @@ -5,7 +5,7 @@ fetchFromGitHub, # build-system - cython_3_1, + cython, meson-python, meson, pkg-config, @@ -93,7 +93,7 @@ let ''; build-system = [ - cython_3_1 + cython meson-python meson numpy diff --git a/pkgs/development/python-modules/paste/default.nix b/pkgs/development/python-modules/paste/default.nix index 1759412e5cb6..98ccf15cbd62 100644 --- a/pkgs/development/python-modules/paste/default.nix +++ b/pkgs/development/python-modules/paste/default.nix @@ -45,6 +45,7 @@ buildPythonPackage rec { pythonNamespaces = [ "paste" ]; meta = { + broken = lib.versionAtLeast setuptools.version "82"; # pkg_resources at runtime description = "Tools for using a Web Server Gateway Interface stack"; homepage = "https://pythonpaste.readthedocs.io/"; changelog = "https://github.com/pasteorg/paste/blob/${version}/docs/news.txt"; diff --git a/pkgs/development/python-modules/periodiq/default.nix b/pkgs/development/python-modules/periodiq/default.nix index a8b718302086..b50fb2c7b1b6 100644 --- a/pkgs/development/python-modules/periodiq/default.nix +++ b/pkgs/development/python-modules/periodiq/default.nix @@ -23,15 +23,6 @@ buildPythonPackage rec { hash = "sha256-XYQ0cR0gdiX7GePqpMDG/Ml0CK+SBcNbsNB99FZ/D3I="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "uv_build>=0.11,<0.12" uv_build - ''; - - pythonRelaxDeps = [ - "dramatiq" - ]; - build-system = [ uv-build ]; dependencies = [ @@ -53,7 +44,7 @@ buildPythonPackage rec { meta = { description = "Simple Scheduler for Dramatiq Task Queue"; mainProgram = "periodiq"; - homepage = "https://pypi.org/project/periodiq/"; + homepage = "https://gitlab.com/bersace/periodiq"; license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ traxys ]; }; diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix index d2b3cd0b33cc..906342f6e4f3 100644 --- a/pkgs/development/python-modules/phonenumbers/default.nix +++ b/pkgs/development/python-modules/phonenumbers/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "phonenumbers"; - version = "9.0.22"; + version = "9.0.34"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-7/mFxlV1dJ0dVOB8VsNRfVJD4D4I5KYZF2HfmqsiePI="; + hash = "sha256-AHUcddEWZIXKgM4C7BW2phomKOmzEzgVeTMLxwyTQHU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index 3dc5a8698748..0dad049fcd08 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -27,22 +27,22 @@ scikit-build-core, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pikepdf"; - version = "10.8.0"; + version = "10.10.0"; pyproject = true; src = fetchFromGitHub { owner = "pikepdf"; repo = "pikepdf"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; # The content of .git_archival.txt is substituted upon tarball creation, # which creates indeterminism if master no longer points to the tag. # See https://github.com/jbarlow83/OCRmyPDF/issues/841 postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-ih5QC6VVl7dGvamp3FRzahnpEDjdO8gGFNVX19Bu8LE="; + hash = "sha256-ZNynqKNmUO8wGoT3Ml2sS2kOGJD37JRaHzBV9igvoHw="; }; patches = [ @@ -101,6 +101,6 @@ buildPythonPackage rec { description = "Read and write PDFs with Python, powered by qpdf"; license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ dotlambda ]; - changelog = "https://github.com/pikepdf/pikepdf/blob/${src.tag}/docs/releasenotes/version${lib.versions.major version}.md"; + changelog = "https://github.com/pikepdf/pikepdf/blob/${finalAttrs.src.tag}/docs/releasenotes/version${lib.versions.major finalAttrs.version}.md"; }; -} +}) diff --git a/pkgs/development/python-modules/pint/default.nix b/pkgs/development/python-modules/pint/default.nix index a2c95b8796fe..0b25f06325c7 100644 --- a/pkgs/development/python-modules/pint/default.nix +++ b/pkgs/development/python-modules/pint/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "pint"; - version = "0.25.2"; + version = "0.25.3"; pyproject = true; src = fetchFromGitHub { owner = "hgrecco"; repo = "pint"; tag = version; - hash = "sha256-Ushg7e920TTW7AYXg5C076Bl/yWPLO+H8I3Ytlc7OKc="; + hash = "sha256-l2wbcS2mlamCBXr9KOWmq10WN5pNVH4Iu65UuZ0vQmU="; }; build-system = [ diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix index 7f9c214dfaab..9c9a0f765e46 100644 --- a/pkgs/development/python-modules/pip-tools/default.nix +++ b/pkgs/development/python-modules/pip-tools/default.nix @@ -5,8 +5,10 @@ build, click, fetchFromGitHub, + fetchpatch, pip, pyproject-hooks, + pytest-mock, pytest-xdist, pytestCheckHook, setuptools, @@ -29,6 +31,17 @@ buildPythonPackage rec { patches = [ ./fix-setup-py-bad-syntax-detection.patch + + (fetchpatch { + name = "pip-26-compat.patch"; + url = "https://github.com/jazzband/pip-tools/commit/cbe3c692f8977270e7ae6061c8159450a73c13fe.patch"; + excludes = [ + "changelog.d/2379.feature.md" + "pyproject.toml" + "tox.ini" + ]; + hash = "sha256-wDma1FBnWnrRln0o7HaizMIkoQey6VdQzGh+q84cHxE="; + }) ]; build-system = [ setuptools-scm ]; @@ -45,6 +58,7 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; nativeCheckInputs = [ + pytest-mock pytest-xdist pytestCheckHook tomli-w diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix index d678b1ff9e72..b12013744b3d 100644 --- a/pkgs/development/python-modules/pip/default.nix +++ b/pkgs/development/python-modules/pip/default.nix @@ -34,14 +34,14 @@ let self = buildPythonPackage rec { pname = "pip"; - version = "25.3"; + version = "26.1.2"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "pip"; tag = version; - hash = "sha256-aHV4j9OMLD6I6Fe6A04bE7xk6eS5CxeUEw4Psqj7xz0="; + hash = "sha256-E53TU7LzGz+gpW1TCQUkSRMUif8mq702EgXdAVxtrGw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix index 3c81d609b50f..f224e733bd3e 100644 --- a/pkgs/development/python-modules/platformdirs/default.nix +++ b/pkgs/development/python-modules/platformdirs/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "platformdirs"; - version = "4.9.6"; + version = "4.10.0"; pyproject = true; src = fetchFromGitHub { owner = "tox-dev"; repo = "platformdirs"; tag = version; - hash = "sha256-/aoJquWRn1UQZa96uZba15tDO+IGEHN9/duu9JYXmd4="; + hash = "sha256-Sx5ln2mF2FkChP3UKu+GmOIIV8DNoJyYgsNiVDkVqQE="; }; build-system = [ diff --git a/pkgs/development/python-modules/poetry-core/default.nix b/pkgs/development/python-modules/poetry-core/default.nix index d158236eff78..2340a309ef38 100644 --- a/pkgs/development/python-modules/poetry-core/default.nix +++ b/pkgs/development/python-modules/poetry-core/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "poetry-core"; - version = "2.4.0"; + version = "2.4.1"; pyproject = true; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-core"; tag = version; - hash = "sha256-i9EucMsoX8Z0iyhNDVYaczv1CSY/KaZpMjn/FGzIJU4="; + hash = "sha256-Io2VpLxnJesO4QohsunD7ogr87NiNjGeTmEl9wFswkw="; }; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix index 3d1fdfb9c674..704524ce7bba 100644 --- a/pkgs/development/python-modules/polars/default.nix +++ b/pkgs/development/python-modules/polars/default.nix @@ -48,19 +48,19 @@ in buildPythonPackage (finalAttrs: { pname = "polars"; - version = "1.41.2"; + version = "1.42.1"; pyproject = true; src = fetchFromGitHub { owner = "pola-rs"; repo = "polars"; tag = "py-${finalAttrs.version}"; - hash = "sha256-Wys56Tj75+7sNNwi3U5a62Wwkddep/W1MjtAHOuDdwc="; + hash = "sha256-xHO+3mgwKvRRQZiAnThwkKFDvfe3ehkifBPINi101Ws="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-tmc8n0TVaXmc4C8XXTgPVsTRs0C/V+88f6T1vOamt00="; + hash = "sha256-EHtQ5BzG6EFJD7e8NMajqNEXlAU/QyyIFLil1irfaqo="; }; requiredSystemFeatures = [ "big-parallel" ]; diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix index 32a3a0128bc9..7aa9ba15623f 100644 --- a/pkgs/development/python-modules/pontos/default.nix +++ b/pkgs/development/python-modules/pontos/default.nix @@ -8,6 +8,7 @@ lxml, packaging, poetry-core, + pyprojectVersionPatchHook, pytestCheckHook, python-dateutil, semver, @@ -28,6 +29,8 @@ buildPythonPackage (finalAttrs: { hash = "sha256-NKe5kM4YPxsGge1UG7DjE3SDXlfZIVazOVmF5RBCbSo="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/powerfox/default.nix b/pkgs/development/python-modules/powerfox/default.nix index 390d30818988..a68d36d5a336 100644 --- a/pkgs/development/python-modules/powerfox/default.nix +++ b/pkgs/development/python-modules/powerfox/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -28,6 +29,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pproxy/default.nix b/pkgs/development/python-modules/pproxy/default.nix index 39b9f9f582ea..3816183ec7fe 100644 --- a/pkgs/development/python-modules/pproxy/default.nix +++ b/pkgs/development/python-modules/pproxy/default.nix @@ -8,6 +8,7 @@ aioquic, python-daemon, setuptools, + setuptools-scm, }: buildPythonPackage rec { @@ -22,7 +23,10 @@ buildPythonPackage rec { hash = "sha256-DWxbU2LtXzec1T175cMVJuWuhnxWYhe0FH67stMyOTM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; optional-dependencies = { accelerated = [ diff --git a/pkgs/development/python-modules/prettytable/default.nix b/pkgs/development/python-modules/prettytable/default.nix index 82b9bd67d84a..93c0ebd32c4c 100644 --- a/pkgs/development/python-modules/prettytable/default.nix +++ b/pkgs/development/python-modules/prettytable/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "prettytable"; - version = "3.17.0"; + version = "3.18.0"; pyproject = true; src = fetchFromGitHub { owner = "jazzband"; repo = "prettytable"; tag = version; - hash = "sha256-MvKa6M2kfD3rUl+kxsD87ieBzmDtahoMQJUNWsofCBc="; + hash = "sha256-Wx3mt6b+tg3yz0f6r9NVFduLKWr8GBXXJI99RBc1VO4="; }; build-system = [ diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index cd9a4d7d6c05..724a8287ea09 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -108,6 +108,9 @@ let dependencies = [ typing-extensions ]; + # the psycopg-pool version isn't updated in tandem with psycopg + dontCheckPythonMetadata = true; + # tested in psycopg doCheck = false; diff --git a/pkgs/development/python-modules/psycopg2/default.nix b/pkgs/development/python-modules/psycopg2/default.nix index b985f5120b23..d7e6138f7644 100644 --- a/pkgs/development/python-modules/psycopg2/default.nix +++ b/pkgs/development/python-modules/psycopg2/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "psycopg2"; - version = "2.9.11"; + version = "2.9.12"; pyproject = true; # Extension modules don't work well with PyPy. Use psycopg2cffi instead. @@ -30,7 +30,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - hash = "sha256-lk0xyvco4hfGl/936mnCughl+kHsILsA8Jd+Yv3MUuM="; + hash = "sha256-He2xx6HYVSxKYETGscQaUuao4tFEr4PsysdYB2sbfBU="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyanglianwater/default.nix b/pkgs/development/python-modules/pyanglianwater/default.nix index becb9af2a267..dd330e669d7c 100644 --- a/pkgs/development/python-modules/pyanglianwater/default.nix +++ b/pkgs/development/python-modules/pyanglianwater/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { hash = "sha256-AkdWWiw1FMs/uuJNSocMBpReXY2mrxouQfWuu4ntRWY="; }; + postPatch = '' + substituteInPlace pyanglianwater/_version.py \ + --replace-fail '__version__ = "0.0.0"' '__version__ = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix index dc4a86879a32..5f7f86c6317e 100644 --- a/pkgs/development/python-modules/pyasn1/default.nix +++ b/pkgs/development/python-modules/pyasn1/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "pyasn1"; - version = "0.6.3"; + version = "0.6.4"; pyproject = true; src = fetchFromGitHub { owner = "pyasn1"; repo = "pyasn1"; tag = "v${finalAttrs.version}"; - hash = "sha256-fHpAJ1WSoLwaWuSMcfHjZmnl8oNhADrdjHaYIEmqQiw="; + hash = "sha256-ZtsHANVUGk+LF17dEjePDm8ofX61P4f2/BTHqlscNd0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pycasbin/default.nix b/pkgs/development/python-modules/pycasbin/default.nix index 2d152c3c0a35..06210b965936 100644 --- a/pkgs/development/python-modules/pycasbin/default.nix +++ b/pkgs/development/python-modules/pycasbin/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, pytestCheckHook, setuptools, simpleeval, @@ -22,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ simpleeval wcmatch diff --git a/pkgs/development/python-modules/pycfdns/default.nix b/pkgs/development/python-modules/pycfdns/default.nix index 1c762044dc6f..b67a20a9aa67 100644 --- a/pkgs/development/python-modules/pycfdns/default.nix +++ b/pkgs/development/python-modules/pycfdns/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, }: buildPythonPackage rec { @@ -18,14 +19,13 @@ buildPythonPackage rec { hash = "sha256-bLzDakxKq8fcjEKSxc6D5VN9gfAu1M3/zaAU2UYnwSs="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'version="0",' 'version="${version}",' - ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ aiohttp ]; + dependencies = [ aiohttp ]; # Project has no tests doCheck = false; diff --git a/pkgs/development/python-modules/pycparser/default.nix b/pkgs/development/python-modules/pycparser/default.nix index fd1e492b627b..2e369960993c 100644 --- a/pkgs/development/python-modules/pycparser/default.nix +++ b/pkgs/development/python-modules/pycparser/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, gitUpdater, @@ -25,6 +26,10 @@ buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook ]; + preCheck = '' + substituteInPlace examples/using_gcc_E_libc.py \ + --replace-fail "'gcc'" "'${stdenv.cc.targetPrefix}cc'" + ''; unittestFlagsArray = [ "-s" "tests" diff --git a/pkgs/development/python-modules/pydantic-monty/default.nix b/pkgs/development/python-modules/pydantic-monty/default.nix index e4fc0a102225..2a1278e72f22 100644 --- a/pkgs/development/python-modules/pydantic-monty/default.nix +++ b/pkgs/development/python-modules/pydantic-monty/default.nix @@ -47,6 +47,7 @@ buildPythonPackage (finalAttrs: { pytestFlags = [ "--config-file" "crates/monty-python/pyproject.toml" + "-Wignore::pytest.PytestRemovedIn10Warning" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index b84ef6f5aace..e513ceaa3218 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -1,8 +1,8 @@ { lib, - python, buildPythonPackage, fetchFromGitHub, + fetchpatch, # build-system hatchling, @@ -39,6 +39,15 @@ buildPythonPackage rec { hash = "sha256-G4Xo6BF6tOn4g/qG3RNDP3/+lYnCOuw3AB1OrVOGcSA="; }; + patches = [ + (fetchpatch { + name = "pytest-9.1-compat.patch"; + url = "https://github.com/pydantic/pydantic/commit/f257d0155c6643fbda9516af6b2c4ca082ed7651.patch"; + excludes = [ "uv.lock" ]; + hash = "sha256-azclSDYY/H8RcerNvI07njwLzr8fyIZ17nM18y/edVo="; + }) + ]; + postPatch = '' sed -i "/--benchmark/d" pyproject.toml ''; diff --git a/pkgs/development/python-modules/pydeako/default.nix b/pkgs/development/python-modules/pydeako/default.nix index 8b8f632e0b7c..cde338ad4377 100644 --- a/pkgs/development/python-modules/pydeako/default.nix +++ b/pkgs/development/python-modules/pydeako/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, mock, pytest-asyncio, - pytestCheckHook, + pytest9_0CheckHook, setuptools, zeroconf, }: @@ -31,7 +31,7 @@ buildPythonPackage rec { nativeCheckInputs = [ mock pytest-asyncio - pytestCheckHook + pytest9_0CheckHook ]; pythonImportsCheck = [ "pydeako" ]; diff --git a/pkgs/development/python-modules/pyecotrend-ista/default.nix b/pkgs/development/python-modules/pyecotrend-ista/default.nix index c281eb080388..7f0f59e7ed0b 100644 --- a/pkgs/development/python-modules/pyecotrend-ista/default.nix +++ b/pkgs/development/python-modules/pyecotrend-ista/default.nix @@ -45,6 +45,10 @@ buildPythonPackage rec { syrupy ]; + pytestFlags = [ + "--snapshot-warn-unused" + ]; + pythonImportsCheck = [ "pyecotrend_ista" ]; meta = { diff --git a/pkgs/development/python-modules/pyequihash/default.nix b/pkgs/development/python-modules/pyequihash/default.nix index 54b033d2b89e..18d8e4a38e3f 100644 --- a/pkgs/development/python-modules/pyequihash/default.nix +++ b/pkgs/development/python-modules/pyequihash/default.nix @@ -31,6 +31,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "equihash" ]; + # The Python bindings' version isn't updated in tandem with equihash + dontCheckPythonMetadata = true; + checkPhase = '' runHook preCheck diff --git a/pkgs/development/python-modules/pyexcel-io/default.nix b/pkgs/development/python-modules/pyexcel-io/default.nix index 8ec7dad0213c..5e4137eb0060 100644 --- a/pkgs/development/python-modules/pyexcel-io/default.nix +++ b/pkgs/development/python-modules/pyexcel-io/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-DBiHHiKXR26/WPJDmEZpRgjvJitFaidbV41Tvn0etLY="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "0.6.7"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ lml ]; diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix index 6efb2f9d68af..7c6dbb4095de 100644 --- a/pkgs/development/python-modules/pyfakefs/default.nix +++ b/pkgs/development/python-modules/pyfakefs/default.nix @@ -14,12 +14,12 @@ buildPythonPackage rec { pname = "pyfakefs"; - version = "6.0.0"; + version = "6.2.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-BZ/QshdL/u1JnssKWbzP9VfyZ8xtiFr8Dlt254ttUNo="; + hash = "sha256-5Zo220R79QnOnJerPRUQwIzFGJXFMRMlpWCl5bXcGUA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyfirefly/default.nix b/pkgs/development/python-modules/pyfirefly/default.nix index 401c52be868c..faf096148a8f 100644 --- a/pkgs/development/python-modules/pyfirefly/default.nix +++ b/pkgs/development/python-modules/pyfirefly/default.nix @@ -7,6 +7,7 @@ lib, mashumaro, orjson, + pyprojectVersionPatchHook, pytest-cov-stub, pytestCheckHook, syrupy, @@ -25,6 +26,8 @@ buildPythonPackage rec { hash = "sha256-RrVjXhV42DBvmTcZMowmHXN5K4nZfKPT/CDbvf1tOAQ="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/pygal/default.nix b/pkgs/development/python-modules/pygal/default.nix index 9fa3b108c53f..d394c200ffd9 100644 --- a/pkgs/development/python-modules/pygal/default.nix +++ b/pkgs/development/python-modules/pygal/default.nix @@ -21,12 +21,12 @@ buildPythonPackage rec { pname = "pygal"; - version = "3.1.0"; + version = "3.1.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-+97nNRp0I+eQf7ipw7dzBfa1Z4yy5v0Ns2qIJeQpVew="; + hash = "sha256-3RGcFM3rVr64UoLj4mh+zjBWEiXUEKgi5rtoaZqm57E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyhacrf-datamade/default.nix b/pkgs/development/python-modules/pyhacrf-datamade/default.nix index db850e5809ff..abe4ed7b0f0f 100644 --- a/pkgs/development/python-modules/pyhacrf-datamade/default.nix +++ b/pkgs/development/python-modules/pyhacrf-datamade/default.nix @@ -10,7 +10,7 @@ setuptools, # dependencies - dedupe-pylbfgs, + pylbfgs, # tests pytestCheckHook, @@ -37,7 +37,7 @@ buildPythonPackage { ]; dependencies = [ - dedupe-pylbfgs + pylbfgs numpy ]; diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix index 3cbc9a1422b0..1091ca3d118b 100644 --- a/pkgs/development/python-modules/pyhanko/default.nix +++ b/pkgs/development/python-modules/pyhanko/default.nix @@ -153,6 +153,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ certomancer pyhanko-certvalidator diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix index 6b5464f6ee97..6be7d79f1194 100644 --- a/pkgs/development/python-modules/pyicloud/default.nix +++ b/pkgs/development/python-modules/pyicloud/default.nix @@ -15,7 +15,7 @@ pythonAtLeast, requests, rich, - setuptools, + setuptools_80, setuptools-scm, srp, tinyhtml, @@ -36,7 +36,7 @@ buildPythonPackage (finalAttrs: { }; build-system = [ - setuptools + setuptools_80 setuptools-scm ]; @@ -54,6 +54,8 @@ buildPythonPackage (finalAttrs: { tzlocal ]; + pythonRelaxDeps = [ "tzlocal" ]; + optional-dependencies = { cli = [ rich diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix index 1057d5c7d988..458b7171b703 100644 --- a/pkgs/development/python-modules/pyicu/default.nix +++ b/pkgs/development/python-modules/pyicu/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pyicu"; - version = "2.15.3"; + version = "2.16.2"; pyproject = true; src = fetchFromGitLab { @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "main"; repo = "pyicu"; tag = "v${version}"; - hash = "sha256-vbrl6n7X85sQIdgj+Z0Xr6x/L8roK5Z/mNj53zyWQGs="; + hash = "sha256-JCevXAL6+G+EXx4ikOANgFiI9YPhjY5fDFLFBmEs8Ro="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix index bac4cd0868f9..005a834e53a6 100644 --- a/pkgs/development/python-modules/pyisy/default.nix +++ b/pkgs/development/python-modules/pyisy/default.nix @@ -6,6 +6,7 @@ fetchFromGitHub, python-dateutil, requests, + setuptools_80, setuptools-scm, }: @@ -26,7 +27,10 @@ buildPythonPackage rec { --replace 'version_format="{tag}"' 'version="${version}"' ''; - build-system = [ setuptools-scm ]; + build-system = [ + setuptools_80 + setuptools-scm + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/pylama/default.nix b/pkgs/development/python-modules/pylama/default.nix index 5349ee627470..7fa4d11ca3ad 100644 --- a/pkgs/development/python-modules/pylama/default.nix +++ b/pkgs/development/python-modules/pylama/default.nix @@ -20,8 +20,7 @@ let pylama = buildPythonPackage rec { pname = "pylama"; version = "8.4.1"; - - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "klen"; @@ -34,16 +33,19 @@ let (replaceVars ./paths.patch { git = "${lib.getBin git}/bin/git"; }) + ./pytest-9.1-compat.patch + ./setuptools-82-compat.patch ]; - propagatedBuildInputs = [ + build-system = [ setuptools_80 ]; + + dependencies = [ eradicate mccabe mypy pycodestyle pydocstyle pyflakes - setuptools_80 vulture ]; diff --git a/pkgs/development/python-modules/pylama/pytest-9.1-compat.patch b/pkgs/development/python-modules/pylama/pytest-9.1-compat.patch new file mode 100644 index 000000000000..ecb87ea853c5 --- /dev/null +++ b/pkgs/development/python-modules/pylama/pytest-9.1-compat.patch @@ -0,0 +1,18 @@ +diff --git a/pylama/pytest.py b/pylama/pytest.py +index 8009a51..3d1cb18 100644 +--- a/pylama/pytest.py ++++ b/pylama/pytest.py +@@ -41,10 +41,10 @@ def pytest_sessionfinish(session): + config.cache.set(HISTKEY, config._pylamamtimes) + + +-def pytest_collect_file(path, parent): ++def pytest_collect_file(file_path, parent): + config = parent.config +- if config.option.pylama and path.ext == ".py": +- return PylamaFile.from_parent(parent, path=pathlib.Path(path)) ++ if config.option.pylama and file_path.ext == ".py": ++ return PylamaFile.from_parent(parent, path=pathlib.Path(file_path)) + return None + + diff --git a/pkgs/development/python-modules/pylama/setuptools-82-compat.patch b/pkgs/development/python-modules/pylama/setuptools-82-compat.patch new file mode 100644 index 000000000000..bd007c3c9f31 --- /dev/null +++ b/pkgs/development/python-modules/pylama/setuptools-82-compat.patch @@ -0,0 +1,22 @@ +diff --git a/pylama/lint/__init__.py b/pylama/lint/__init__.py +index c50dee3..c40d492 100644 +--- a/pylama/lint/__init__.py ++++ b/pylama/lint/__init__.py +@@ -7,7 +7,7 @@ from pathlib import Path + from pkgutil import walk_packages + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type + +-from pkg_resources import iter_entry_points ++from importlib.metadata import entry_points + + LINTERS: Dict[str, Type[LinterV2]] = {} + +@@ -58,7 +58,7 @@ for _, pname, _ in walk_packages([str(Path(__file__).parent)]): # type: ignore + pass + + # Import installed linters +-for entry in iter_entry_points("pylama.linter"): ++for entry in entry_points(group="pylama.linter"): + if entry.name not in LINTERS: + try: + LINTERS[entry.name] = entry.load() diff --git a/pkgs/development/python-modules/dedupe-pylbfgs/default.nix b/pkgs/development/python-modules/pylbfgs/default.nix similarity index 97% rename from pkgs/development/python-modules/dedupe-pylbfgs/default.nix rename to pkgs/development/python-modules/pylbfgs/default.nix index 738177ec8106..07dba43c1d0b 100644 --- a/pkgs/development/python-modules/dedupe-pylbfgs/default.nix +++ b/pkgs/development/python-modules/pylbfgs/default.nix @@ -14,7 +14,7 @@ }: buildPythonPackage rec { - pname = "dedupe-pylbfgs"; + pname = "pylbfgs"; version = "0.2.0.16"; pyproject = true; diff --git a/pkgs/development/python-modules/dedupe-pylbfgs/tests-numpy-2.4.patch b/pkgs/development/python-modules/pylbfgs/tests-numpy-2.4.patch similarity index 100% rename from pkgs/development/python-modules/dedupe-pylbfgs/tests-numpy-2.4.patch rename to pkgs/development/python-modules/pylbfgs/tests-numpy-2.4.patch diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index 94d97162dbb4..3b652e44ba07 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -23,14 +23,14 @@ buildPythonPackage (finalAttrs: { pname = "pylint"; - version = "4.0.6"; + version = "4.0.6-unstable-2026-07-14"; pyproject = true; src = fetchFromGitHub { owner = "pylint-dev"; repo = "pylint"; - tag = "v${finalAttrs.version}"; - hash = "sha256-vg33n+MHCQTYeiMYmKJ7wORLx7Z/wv4t8v3u7k1keh4="; + rev = "5f7e4013c004324f11eac6f310d932f505272e28"; + hash = "sha256-fdOA/ofrEMfzlbVbN6f5LE9nGC7QlggBU/SKW70iaC8="; }; build-system = [ setuptools ]; @@ -101,7 +101,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Bug and style checker for Python"; homepage = "https://pylint.readthedocs.io/en/stable/"; - changelog = "https://github.com/pylint-dev/pylint/releases/tag/${finalAttrs.src.tag}"; + # changelog = "https://github.com/pylint-dev/pylint/releases/tag/${finalAttrs.src.tag}"; longDescription = '' Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple diff --git a/pkgs/development/python-modules/pymilter/default.nix b/pkgs/development/python-modules/pymilter/default.nix index a54d852e3b83..dda74831930e 100644 --- a/pkgs/development/python-modules/pymilter/default.nix +++ b/pkgs/development/python-modules/pymilter/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-plaWXwDAIsVzEtrabZuZj7T4WNfz2ntQHgcMCVf5S70="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version = '1.0.5'" "version = '${version}'" + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix index 5d9982586783..bf33ccfc58f1 100644 --- a/pkgs/development/python-modules/pymongo/default.nix +++ b/pkgs/development/python-modules/pymongo/default.nix @@ -18,13 +18,13 @@ buildPythonPackage rec { pname = "pymongo"; - version = "4.16.0"; + version = "4.17.0"; pyproject = true; src = fetchPypi { inherit version; pname = "pymongo"; - hash = "sha256-i6hAUGX24lim+HL+YteXoo84OhIXjHFTwB7QToRcYAw="; + hash = "sha256-cP+gi6ZBRozAaM9GwGs08BqM40ifZBEwn8tc6r5rL8A="; }; build-system = [ diff --git a/pkgs/development/python-modules/pymysql/default.nix b/pkgs/development/python-modules/pymysql/default.nix index db536ce794a6..b93585d91c4b 100644 --- a/pkgs/development/python-modules/pymysql/default.nix +++ b/pkgs/development/python-modules/pymysql/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "pymysql"; - version = "1.1.2"; + version = "1.2.0"; pyproject = true; src = fetchPypi { pname = "pymysql"; inherit version; - hash = "sha256-SWHT4WVhSuZQFONhgRpyTiBErT6jc53pkDrnwh9TnwM="; + hash = "sha256-bHsXymhpiBBNdCbCeJW0Vc3uo+nTzrEnDww3BP6tjDM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pynordpool/default.nix b/pkgs/development/python-modules/pynordpool/default.nix index 0eca17e437d0..7408e687f491 100644 --- a/pkgs/development/python-modules/pynordpool/default.nix +++ b/pkgs/development/python-modules/pynordpool/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, }: buildPythonPackage (finalAttrs: { @@ -18,6 +19,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-HDbYrwQ4v5cqej5aUat0gVzaRpJz5jaFHjWUC98gacg="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/pyobjc-core/default.nix b/pkgs/development/python-modules/pyobjc-core/default.nix index 278ad48196d8..e07a01289f74 100644 --- a/pkgs/development/python-modules/pyobjc-core/default.nix +++ b/pkgs/development/python-modules/pyobjc-core/default.nix @@ -4,9 +4,6 @@ fetchFromGitHub, lib, setuptools, - - # TODO: Clean up on `staging`. - llvmPackages, }: buildPythonPackage rec { @@ -31,9 +28,6 @@ buildPythonPackage rec { nativeBuildInputs = [ darwin.DarwinTools # sw_vers - - # TODO: Clean up on `staging`. - llvmPackages.lld ]; env.NIX_CFLAGS_COMPILE = toString [ @@ -42,9 +36,6 @@ buildPythonPackage rec { "-Wno-error=unused-command-line-argument" ]; - # TODO: Clean up on `staging`. - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - pythonImportsCheck = [ "objc" ]; meta = { diff --git a/pkgs/development/python-modules/pyomie/default.nix b/pkgs/development/python-modules/pyomie/default.nix index 5c4e69d73407..16c54bbf9915 100644 --- a/pkgs/development/python-modules/pyomie/default.nix +++ b/pkgs/development/python-modules/pyomie/default.nix @@ -3,6 +3,7 @@ aiohttp, aioresponses, buildPythonPackage, + click, deepdiff, fetchFromGitHub, poetry-core, @@ -34,6 +35,7 @@ buildPythonPackage (finalAttrs: { dependencies = [ aiohttp + click rich typer ]; diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix index f4de02e72223..9a45cb8defed 100644 --- a/pkgs/development/python-modules/pypck/default.nix +++ b/pkgs/development/python-modules/pypck/default.nix @@ -3,6 +3,7 @@ stdenv, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, pytest-asyncio, pytest-timeout, pytestCheckHook, @@ -21,9 +22,7 @@ buildPythonPackage (finalAttrs: { hash = "sha256-b8uTY4UtyhKN7JDvu/wC1jXAN/oKs2cJ6sSRBC22vS0="; }; - postPatch = '' - echo "${finalAttrs.version}" > VERSION - ''; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyportainer/default.nix b/pkgs/development/python-modules/pyportainer/default.nix index 82d1a4a55b4f..4cb6fd4c0e3b 100644 --- a/pkgs/development/python-modules/pyportainer/default.nix +++ b/pkgs/development/python-modules/pyportainer/default.nix @@ -8,6 +8,7 @@ lib, mashumaro, orjson, + pyprojectVersionPatchHook, pytest-cov-stub, pytestCheckHook, syrupy, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pyprobeplus/default.nix b/pkgs/development/python-modules/pyprobeplus/default.nix index 2e95175f44a3..33e7774f7a35 100644 --- a/pkgs/development/python-modules/pyprobeplus/default.nix +++ b/pkgs/development/python-modules/pyprobeplus/default.nix @@ -19,6 +19,11 @@ buildPythonPackage rec { hash = "sha256-CJbQs0xZHdXNPX71G1KrrHHV58gXaQsUHGcX9P8E+iY="; }; + postPatch = '' + substituteInPlace pyprobeplus/__init__.py \ + --replace-fail "1.0.1" "${version}" + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pyproject-metadata/default.nix b/pkgs/development/python-modules/pyproject-metadata/default.nix index 81e67b50ce7d..17bfc2aae673 100644 --- a/pkgs/development/python-modules/pyproject-metadata/default.nix +++ b/pkgs/development/python-modules/pyproject-metadata/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "pyproject-metadata"; - version = "0.10.0"; + version = "0.12.1"; pyproject = true; src = fetchPypi { pname = "pyproject_metadata"; inherit version; - hash = "sha256-f1vQ7zmLYBaVVssX6iYdcVyvf4VhI4FR9RsjBQhLqNQ="; + hash = "sha256-iAmk32/ggnmzmoiQZpUG7TFY4GF4Vaya/wmPy+dyrkw="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/pyrail/default.nix b/pkgs/development/python-modules/pyrail/default.nix index 6069db6db723..ce1f523c733d 100644 --- a/pkgs/development/python-modules/pyrail/default.nix +++ b/pkgs/development/python-modules/pyrail/default.nix @@ -5,6 +5,7 @@ lib, mashumaro, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -21,6 +22,8 @@ buildPythonPackage rec { hash = "sha256-MFsFtspL9cmhwu2oo8wx0Sjx2VpQe92JP9e0M7U8CL8="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/pyreqwest/default.nix b/pkgs/development/python-modules/pyreqwest/default.nix index 3d6fe0e9c825..bfabdc41d0b2 100644 --- a/pkgs/development/python-modules/pyreqwest/default.nix +++ b/pkgs/development/python-modules/pyreqwest/default.nix @@ -58,6 +58,12 @@ buildPythonPackage (finalAttrs: { yarl ]; + disabledTests = [ + # snapshot has different dict key ordering + "test_assert_called_exact_count_failure" + "test_assert_called_regex_matchers_display" + ]; + disabledTestPaths = [ # requires a running Docker daemon "tests/test_examples.py" diff --git a/pkgs/development/python-modules/pyside6-qtads/default.nix b/pkgs/development/python-modules/pyside6-qtads/default.nix index 41abea11a295..224cb933d1c8 100644 --- a/pkgs/development/python-modules/pyside6-qtads/default.nix +++ b/pkgs/development/python-modules/pyside6-qtads/default.nix @@ -8,19 +8,19 @@ qt6, setuptools, setuptools-scm, - shiboken6, + shiboken6-generator, }: buildPythonPackage rec { pname = "pyside6-qtads"; - version = "4.5.0"; + version = "5.0.0"; pyproject = true; src = fetchFromGitHub { owner = "mborgerson"; repo = "pyside6_qtads"; tag = "v${version}"; - hash = "sha256-rAkv6dFyS4Nw3FDLwZ1zp0EU4BhD/xrhNgUiIIktJ8s="; + hash = "sha256-pSgDdfOuEnluiKKnCJjxVZbQwZld4tr7G2S8ZZXJkvo="; fetchSubmodules = true; }; @@ -29,7 +29,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ - --replace-fail @shiboken6@ ${shiboken6} \ + --replace-fail @shiboken6@ ${shiboken6-generator} \ --replace-fail @pyside6@ ${pyside6} # can't use pythonRelaxDepsHook because it runs postBuild but the dependency check @@ -56,7 +56,7 @@ buildPythonPackage rec { dependencies = [ pyside6 - shiboken6 + shiboken6-generator ]; nativeBuildInputs = [ pythonRelaxDepsHook ]; diff --git a/pkgs/development/python-modules/pyside6-qtads/find-nix-deps.patch b/pkgs/development/python-modules/pyside6-qtads/find-nix-deps.patch index 5ec2f5ab8259..d6ae7e61d63d 100644 --- a/pkgs/development/python-modules/pyside6-qtads/find-nix-deps.patch +++ b/pkgs/development/python-modules/pyside6-qtads/find-nix-deps.patch @@ -1,38 +1,40 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0c0568a..f12d50e 100644 +index 84a6527..9483c70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -105,15 +105,17 @@ macro(pyside_config option output_var) +@@ -106,17 +106,17 @@ macro(pyside_config option output_var) endmacro() - # Query for the shiboken generator path, Python path, include paths and linker flags. + # Query for the shiboken6-generator path, PySide6 path, Python path, include paths and linker flags. +find_package(Shiboken6 REQUIRED) +find_package(PySide6 REQUIRED) pyside_config(--shiboken-module-path shiboken_module_path) -pyside_config(--shiboken-generator-path shiboken_generator_path) -pyside_config(--pyside-path pyside_path) --pyside_config(--pyside-include-path pyside_include_dir 1) +- +set(shiboken_generator_path "" CACHE PATH "Path where shiboken6 executable can be found") +set(pyside_path "" CACHE PATH "pyside share path, where typesystems dir can be found") +get_target_property(pyside_include_dir PySide6::pyside6 INTERFACE_INCLUDE_DIRECTORIES) pyside_config(--python-include-path python_include_dir) --pyside_config(--shiboken-generator-include-path shiboken_include_dir 1) --pyside_config(--shiboken-module-shared-libraries-cmake shiboken_shared_libraries 0) +-pyside_config(--shiboken-include-path shiboken_include_dir 1) +-pyside_config(--pyside-include-path pyside_include_dir 1) +- +get_target_property(shiboken_include_dir Shiboken6::libshiboken INTERFACE_INCLUDE_DIRECTORIES) +get_target_property(shiboken_shared_libraries Shiboken6::libshiboken IMPORTED_LOCATION_RELEASE) pyside_config(--python-link-flags-cmake python_linking_data 0) +-pyside_config(--shiboken-module-shared-libraries-cmake shiboken_module_shared_libraries 0) -pyside_config(--pyside-shared-libraries-cmake pyside_shared_libraries 0) +get_target_property(pyside_shared_libraries PySide6::pyside6 IMPORTED_LOCATION_RELEASE) - set(shiboken_path "${shiboken_generator_path}/shiboken6${CMAKE_EXECUTABLE_SUFFIX}") - if(NOT EXISTS ${shiboken_path}) + # Print the computed variables + message(STATUS "Shiboken module path: ${shiboken_module_path}") diff --git a/setup.py b/setup.py -index 802821b..f522818 100644 +index 84cda9c..05139d1 100644 --- a/setup.py +++ b/setup.py @@ -88,7 +88,9 @@ setuptools.setup( "-DBUILD_STATIC:BOOL=ON", - "-DADS_VERSION=4.3.0", + "-DADS_VERSION=5.0.0", f"-DPython3_ROOT_DIR={Path(sys.prefix)}", - f"-DPython_EXECUTABLE={Path(sys.executable)}" + f"-DPython_EXECUTABLE={Path(sys.executable)}", diff --git a/pkgs/development/python-modules/pyside6/default.nix b/pkgs/development/python-modules/pyside6/default.nix index f8165e7e8bc0..402400afaca0 100644 --- a/pkgs/development/python-modules/pyside6/default.nix +++ b/pkgs/development/python-modules/pyside6/default.nix @@ -10,7 +10,6 @@ shiboken6, llvmPackages, symlinkJoin, - fetchpatch, }: let packages = with python.pkgs.qt6; [ @@ -59,10 +58,6 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/sources/pyside6"; - patches = [ - ./fix-paths.patch - ]; - # Qt Designer plugin moved to a separate output to reduce closure size # for downstream things outputs = [ diff --git a/pkgs/development/python-modules/pyside6/fix-paths.patch b/pkgs/development/python-modules/pyside6/fix-paths.patch deleted file mode 100644 index f064dbc046b5..000000000000 --- a/pkgs/development/python-modules/pyside6/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/libpyside/CMakeLists.txt -+++ b/libpyside/CMakeLists.txt -@@ -162,8 +162,8 @@ configure_package_config_file( - - # Install-tree / wheel configuration - set(PYSIDE_PYTHONPATH "") --set(PYSIDE_TYPESYSTEMS "typesystems") --set(PYSIDE_GLUE "glue") -+set(PYSIDE_TYPESYSTEMS "share/PySide6${pyside6_SUFFIX}/typesystems") -+set(PYSIDE_GLUE "share/PySide6${pyside6_SUFFIX}/glue") - set(PYSIDE_SOVERSION "${pyside6_library_so_version}") - - configure_package_config_file( diff --git a/pkgs/development/python-modules/pysmartthings/default.nix b/pkgs/development/python-modules/pysmartthings/default.nix index 5ba17dbd5c4e..217f4efb3492 100644 --- a/pkgs/development/python-modules/pysmartthings/default.nix +++ b/pkgs/development/python-modules/pysmartthings/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, hatchling, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -31,6 +32,10 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pysmi/default.nix b/pkgs/development/python-modules/pysmi/default.nix index 39ade30d993e..f1171b0b8932 100644 --- a/pkgs/development/python-modules/pysmi/default.nix +++ b/pkgs/development/python-modules/pysmi/default.nix @@ -5,6 +5,7 @@ flit-core, jinja2, lark, + pyprojectVersionPatchHook, pysmi, pysnmp, pytestCheckHook, @@ -25,6 +26,10 @@ buildPythonPackage (finalAttrs: { build-system = [ flit-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ jinja2 lark diff --git a/pkgs/development/python-modules/pyspx/default.nix b/pkgs/development/python-modules/pyspx/default.nix index 07e9db803be8..94b8a5a9bf79 100644 --- a/pkgs/development/python-modules/pyspx/default.nix +++ b/pkgs/development/python-modules/pyspx/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { fetchSubmodules = true; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="0.5.0"' 'version="${version}"' + ''; + build-system = [ cffi setuptools diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix index e5680266e742..b1a0acb72067 100644 --- a/pkgs/development/python-modules/pytest-cases/default.nix +++ b/pkgs/development/python-modules/pytest-cases/default.nix @@ -12,15 +12,21 @@ buildPythonPackage rec { pname = "pytest-cases"; - version = "3.9.1"; + version = "3.10.1"; pyproject = true; src = fetchPypi { pname = "pytest_cases"; inherit version; - hash = "sha256-xOGB8bUlyTGjGNSBL6jeZWwsj7d/zPFXHs8Mxf6Of48="; + hash = "sha256-RR+ePs1dLYGkNiwQxEESb1s9GuOn769Z9gsfuTDfLWk="; }; + patches = [ + # https://github.com/smarie/python-pytest-cases/issues/385 + # https://github.com/smarie/python-pytest-cases/pull/386 + ./pytest-9.1-compat.patch + ]; + build-system = [ setuptools_80 setuptools-scm diff --git a/pkgs/development/python-modules/pytest-cases/pytest-9.1-compat.patch b/pkgs/development/python-modules/pytest-cases/pytest-9.1-compat.patch new file mode 100644 index 000000000000..dfc901cd2452 --- /dev/null +++ b/pkgs/development/python-modules/pytest-cases/pytest-9.1-compat.patch @@ -0,0 +1,74 @@ +From 37c72c1350899d45bc80e92b4b4168b5f7a7af7c Mon Sep 17 00:00:00 2001 +From: "a.berod" +Date: Thu, 9 Jul 2026 10:43:44 +0200 +Subject: [PATCH] Fix compatiblity with pytest 9.1+ + +--- + src/pytest_cases/common_pytest.py | 17 ++++++++++++----- + src/pytest_cases/common_pytest_marks.py | 1 + + 2 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/src/pytest_cases/common_pytest.py b/src/pytest_cases/common_pytest.py +index afad9d39..4a2b6b71 100644 +--- a/src/pytest_cases/common_pytest.py ++++ b/src/pytest_cases/common_pytest.py +@@ -31,7 +31,7 @@ + from .common_pytest_marks import make_marked_parameter_value, get_param_argnames_as_list, \ + get_pytest_parametrize_marks, get_pytest_usefixture_marks, PYTEST3_OR_GREATER, PYTEST6_OR_GREATER, \ + PYTEST38_OR_GREATER, PYTEST34_OR_GREATER, PYTEST33_OR_GREATER, PYTEST32_OR_GREATER, PYTEST71_OR_GREATER, \ +- PYTEST8_OR_GREATER, PYTEST84_OR_GREATER ++ PYTEST8_OR_GREATER, PYTEST84_OR_GREATER, PYTEST91_OR_GREATER + from .common_pytest_lazy_values import is_lazy_value, is_lazy + + +@@ -641,7 +641,12 @@ def in_callspec_explicit_args( + if PYTEST71_OR_GREATER: + from _pytest.python import IdMaker # noqa + +- _idval = IdMaker([], [], None, None, None, None, None)._idval ++ args = [[], [], None, None, None, None, None] ++ if PYTEST91_OR_GREATER: ++ # func_name removed in https://github.com/pytest-dev/pytest/pull/13976 ++ del args[-1] ++ ++ _idval = IdMaker(*args)._idval + _idval_kwargs = dict() + else: + from _pytest.python import _idval # noqa +@@ -738,10 +743,12 @@ def getfuncargnames(function, cls=None): + + + class FakeSession(object): +- __slots__ = ('_fixturemanager',) ++ __slots__ = ("_fixturemanager", "config", "nodeid") + +- def __init__(self): ++ def __init__(self, nodeid): + self._fixturemanager = None ++ self.config = None ++ self.nodeid = nodeid + + + class MiniFuncDef(object): +@@ -750,7 +757,7 @@ class MiniFuncDef(object): + def __init__(self, nodeid): + self.nodeid = nodeid + if PYTEST8_OR_GREATER: +- self.session = FakeSession() ++ self.session = FakeSession(nodeid=nodeid) + + + class MiniMetafunc(Metafunc): +diff --git a/src/pytest_cases/common_pytest_marks.py b/src/pytest_cases/common_pytest_marks.py +index 6fa33b32..0c6030df 100644 +--- a/src/pytest_cases/common_pytest_marks.py ++++ b/src/pytest_cases/common_pytest_marks.py +@@ -47,6 +47,7 @@ + PYTEST81_OR_GREATER = PYTEST_VERSION >= Version('8.1.0') + PYTEST84_OR_GREATER = PYTEST_VERSION >= Version('8.4.0') + PYTEST9_OR_GREATER = PYTEST_VERSION >= Version('9.0.0') ++PYTEST91_OR_GREATER = PYTEST_VERSION >= Version('9.1.0') + + + def get_param_argnames_as_list(argnames): + diff --git a/pkgs/development/python-modules/pytest-codspeed/default.nix b/pkgs/development/python-modules/pytest-codspeed/default.nix index 440edf8161d1..9b85caa34555 100644 --- a/pkgs/development/python-modules/pytest-codspeed/default.nix +++ b/pkgs/development/python-modules/pytest-codspeed/default.nix @@ -24,14 +24,14 @@ in buildPythonPackage rec { pname = "pytest-codspeed"; - version = "4.2.0"; + version = "5.0.3"; pyproject = true; src = fetchFromGitHub { owner = "CodSpeedHQ"; repo = "pytest-codspeed"; tag = "v${version}"; - hash = "sha256-MrdMUTNXRatGNsfw7Ghp/PIXPnocEgEMBjAwML/tMos="; + hash = "sha256-qlv7iCT1q/U8fWbXGYQyw2mcR7GS9w41FlRQvRxnHh8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml b/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml index 1f356aa7f996..9c73b45061ad 100644 --- a/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml +++ b/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "pytest-cov-nixpkgs-stub" +name = "pytest-cov-stub" version = "1.0.0" [tool.hatch.build.targets.wheel] diff --git a/pkgs/development/python-modules/pytest-cram/default.nix b/pkgs/development/python-modules/pytest-cram/default.nix deleted file mode 100644 index 674566e2301e..000000000000 --- a/pkgs/development/python-modules/pytest-cram/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - pythonAtLeast, - setuptools, - pytest_7, - cram, - bash, -}: - -buildPythonPackage rec { - pname = "pytest-cram"; - version = "0.2.2"; - pyproject = true; - - # relies on the imp module - disabled = pythonAtLeast "3.12"; - - src = fetchPypi { - inherit pname version; - sha256 = "0405ymmrsv6ii2qhq35nxfjkb402sdb6d13xnk53jql3ybgmiqq0"; - extension = "tar.gz"; - }; - - postPatch = '' - substituteInPlace pytest_cram/tests/test_options.py \ - --replace "/bin/bash" "${bash}/bin/bash" - ''; - - build-system = [ setuptools ]; - - dependencies = [ cram ]; - - # https://github.com/tbekolay/pytest-cram/issues/15 - nativeCheckInputs = [ pytest_7 ]; - - # Remove __init__.py from tests folder, otherwise pytest raises an error that - # the imported and collected modules are different. - checkPhase = '' - rm pytest_cram/tests/__init__.py - pytest pytest_cram/ --ignore=pytest_cram/tests/test_examples.py - ''; - - meta = { - description = "Test command-line applications with pytest and cram"; - homepage = "https://github.com/tbekolay/pytest-cram"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ jluttine ]; - }; -} diff --git a/pkgs/development/python-modules/pytest-dependency/default.nix b/pkgs/development/python-modules/pytest-dependency/default.nix index 11738b230adc..6e998302e0d1 100644 --- a/pkgs/development/python-modules/pytest-dependency/default.nix +++ b/pkgs/development/python-modules/pytest-dependency/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pytest, pytestCheckHook, setuptools, @@ -9,14 +9,21 @@ buildPythonPackage rec { pname = "pytest-dependency"; - version = "0.6.0"; + version = "0.6.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-k0sOajnZWZUGLBk/fq7tio/6Bv8bzvS2Kw3HSnCLrME="; + src = fetchFromGitHub { + owner = "RKrahl"; + repo = "pytest-dependency"; + tag = version; + hash = "sha256-1tAikpdCLJMmylIbd1zQ45Bq+95O5cDQxNGwe3XpZuw="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "UNKNOWN" "${version}" + ''; + nativeBuildInputs = [ setuptools ]; buildInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/pytest-examples/default.nix b/pkgs/development/python-modules/pytest-examples/default.nix index 39e4fd28a34c..54ab8c681969 100644 --- a/pkgs/development/python-modules/pytest-examples/default.nix +++ b/pkgs/development/python-modules/pytest-examples/default.nix @@ -44,6 +44,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "pytest_examples" ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = [ # Fails with AssertionError because formatting is different than expected "test_black_error" diff --git a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix index 2a9c5ef6ae7e..e28df32aca72 100644 --- a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix +++ b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, pytest, pytest-fixture-classes, pytestCheckHook, @@ -29,6 +30,10 @@ buildPythonPackage rec { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ pytest ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/pytest-memray/default.nix b/pkgs/development/python-modules/pytest-memray/default.nix new file mode 100644 index 000000000000..f24ffe21881a --- /dev/null +++ b/pkgs/development/python-modules/pytest-memray/default.nix @@ -0,0 +1,56 @@ +{ + lib, + anyio, + buildPythonPackage, + fetchFromGitHub, + flaky, + hatchling, + hatch-vcs, + memray, + pytest, + pytest-xdist, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "pytest-memray"; + version = "1.8.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "bloomberg"; + repo = "pytest-memray"; + tag = "v${finalAttrs.version}"; + hash = "sha256-73Lyy14t2Hcqo0aTlWbGMzaxJ73bKjzc4BFE/jPG99I="; + }; + + build-system = [ + hatchling + hatch-vcs + ]; + + dependencies = [ memray ]; + + buildInputs = [ pytest ]; + + nativeCheckInputs = [ + anyio + flaky + pytest-xdist + pytestCheckHook + ]; + + enabledTestPaths = [ + # don't run the demo tests + "tests" + ]; + + pythonImportsCheck = [ "pytest_memray" ]; + + meta = { + description = "Pytest plugin for easy integration of memray memory profiler"; + homepage = "https://github.com/bloomberg/pytest-memray"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ SuperSandro2000 ]; + }; +}) diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix index 3c03379fceb4..f6a89f265a05 100644 --- a/pkgs/development/python-modules/pytest-mock/default.nix +++ b/pkgs/development/python-modules/pytest-mock/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, pytest, pytest-asyncio, pytestCheckHook, @@ -21,6 +22,14 @@ buildPythonPackage rec { hash = "sha256-9h5/cssWs4F0LKnFLjWDsEjB2AYczLvnSjiUdsaEcBQ="; }; + patches = [ + (fetchpatch { + name = "pytest-9.1-compat.patch"; + url = "https://github.com/pytest-dev/pytest-mock/commit/1d42981a1577207db5919852f30ef08c97208496.patch"; + hash = "sha256-9/vQi/VvZRrIUSq1e90MvLB0idkc+tT4R6q1Ut4HKnY="; + }) + ]; + build-system = [ setuptools setuptools-scm diff --git a/pkgs/development/python-modules/pytest-order/default.nix b/pkgs/development/python-modules/pytest-order/default.nix index cd2c9720b14c..7cb379eec7ca 100644 --- a/pkgs/development/python-modules/pytest-order/default.nix +++ b/pkgs/development/python-modules/pytest-order/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pytest-order"; - version = "1.3.0"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { owner = "pytest-dev"; repo = "pytest-order"; tag = "v${version}"; - hash = "sha256-V1qJGkXn+HhuK5wiwkkJBEbfnv23R4x9Cv0J6ZTj5xE="; + hash = "sha256-LLQy5dO3OWmm7W9eI8yfrOFVp9MQOU+pjoAyWl03tZ0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytest-regressions/default.nix b/pkgs/development/python-modules/pytest-regressions/default.nix index bc07443a8ccc..271374de1994 100644 --- a/pkgs/development/python-modules/pytest-regressions/default.nix +++ b/pkgs/development/python-modules/pytest-regressions/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "pytest-regressions"; - version = "2.9.1"; + version = "2.11.0"; pyproject = true; src = fetchFromGitHub { owner = "ESSS"; repo = "pytest-regressions"; tag = "v${version}"; - hash = "sha256-pqlRfpi5Z9b6zrvU6M1sNRz5ltZLAFiJITFvex7YqcE="; + hash = "sha256-BojXizPr1b09YOa4wEeHQheyubKR2nBvtzLlcvt3380="; }; build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix index 7f681df0ce46..373a009ab113 100644 --- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix +++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pytest-rerunfailures"; - version = "16.3"; + version = "16.4"; pyproject = true; src = fetchFromGitHub { owner = "pytest-dev"; repo = "pytest-rerunfailures"; tag = version; - hash = "sha256-T4l4AoUHvT6GjHyRK2TA3vPTxRicZ5pvgFgDtbkOGMw="; + hash = "sha256-wdUNGc50Yqrctc8OXBmgRwmHVjSeOq+ADRYcLtKSraM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytest-socket/default.nix b/pkgs/development/python-modules/pytest-socket/default.nix index 9f8bfa0fce40..ca8a5314371e 100644 --- a/pkgs/development/python-modules/pytest-socket/default.nix +++ b/pkgs/development/python-modules/pytest-socket/default.nix @@ -2,23 +2,23 @@ lib, buildPythonPackage, fetchFromGitHub, - poetry-core, + uv-build, pytest, }: buildPythonPackage rec { pname = "pytest-socket"; - version = "0.7.0"; + version = "0.8.0"; pyproject = true; src = fetchFromGitHub { owner = "miketheman"; repo = "pytest-socket"; tag = version; - hash = "sha256-19YF3q85maCVdVg2HOOPbN45RNjBf6kiFAhLut8B2tQ="; + hash = "sha256-UFUh0FhIEakAY1NZQD6hFY7wnnPs2NjjsfionIg0jRs="; }; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ uv-build ]; buildInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/pytest-unordered/default.nix b/pkgs/development/python-modules/pytest-unordered/default.nix index 4d174bea06de..c96bad1e02bd 100644 --- a/pkgs/development/python-modules/pytest-unordered/default.nix +++ b/pkgs/development/python-modules/pytest-unordered/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pytest-unordered"; - version = "0.7.0"; + version = "0.8.0"; pyproject = true; src = fetchFromGitHub { owner = "utapyngo"; repo = "pytest-unordered"; tag = "v${version}"; - hash = "sha256-JmP2zStxIt+u7sgfRKlnBwM5q5R0GfXtiE7ZgHKtg94="; + hash = "sha256-0Zh58qWKJIUL/7ELiZmyFNVKUyiJeckpYTQBnqKROo4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytest/9_0.nix b/pkgs/development/python-modules/pytest/9_0.nix new file mode 100644 index 000000000000..c86b2b419237 --- /dev/null +++ b/pkgs/development/python-modules/pytest/9_0.nix @@ -0,0 +1,104 @@ +{ + lib, + buildPythonPackage, + callPackage, + fetchPypi, + writeText, + + # build-system + setuptools, + setuptools-scm, + + # dependencies + attrs, + iniconfig, + packaging, + pluggy, + + # optional-dependencies + argcomplete, + hypothesis, + mock, + pygments, + requests, + xmlschema, +}: + +buildPythonPackage rec { + pname = "pytest"; + version = "9.0.3"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-uGraUIr4HRnt6yE8aBsdSCRsGpHTBMbIGkJ2dMF+uRw="; + }; + + outputs = [ + "out" + "testout" + ]; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + iniconfig + packaging + pluggy + pygments + ]; + + optional-dependencies = { + testing = [ + argcomplete + attrs + hypothesis + mock + requests + setuptools + xmlschema + ]; + }; + + postInstall = '' + mkdir $testout + cp -R testing $testout/testing + ''; + + doCheck = false; + passthru.tests.pytest = callPackage ./tests.nix { }; + + # Remove .pytest_cache when using py.test in a Nix build + setupHook = writeText "pytest-hook" '' + pytestcachePhase() { + find $out -name .pytest_cache -type d -exec rm -rf {} + + } + appendToVar preDistPhases pytestcachePhase + + # pytest generates it's own bytecode files to improve assertion messages. + # These files similar to cpython's bytecode files but are never laoded + # by python interpreter directly. We remove them for a few reasons: + # - files are non-deterministic: https://github.com/NixOS/nixpkgs/issues/139292 + # (file headers are generatedt by pytest directly and contain timestamps) + # - files are not needed after tests are finished + pytestRemoveBytecodePhase () { + # suffix is defined at: + # https://github.com/pytest-dev/pytest/blob/7.2.1/src/_pytest/assertion/rewrite.py#L51-L53 + find $out -name "*-pytest-*.py[co]" -delete + } + appendToVar preDistPhases pytestRemoveBytecodePhase + ''; + + pythonImportsCheck = [ "pytest" ]; + + meta = { + description = "Framework for writing tests"; + homepage = "https://docs.pytest.org"; + changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}"; + teams = [ lib.teams.python ]; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index c86b2b419237..d093192551ff 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -26,12 +26,12 @@ buildPythonPackage rec { pname = "pytest"; - version = "9.0.3"; + version = "9.1.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-uGraUIr4HRnt6yE8aBsdSCRsGpHTBMbIGkJ2dMF+uRw="; + hash = "sha256-EIj73o8rSdlaVJoZVwevp6dqPOm8rcJrbXHw/9pf4xM="; }; outputs = [ diff --git a/pkgs/development/python-modules/python-apt/default.nix b/pkgs/development/python-modules/python-apt/default.nix index 9df487e14ac0..0c0056888e6e 100644 --- a/pkgs/development/python-modules/python-apt/default.nix +++ b/pkgs/development/python-modules/python-apt/default.nix @@ -7,7 +7,7 @@ }: buildPythonPackage rec { - pname = "apt"; + pname = "python-apt"; version = "3.1.0"; pyproject = true; diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/python-augeas/default.nix similarity index 97% rename from pkgs/development/python-modules/augeas/default.nix rename to pkgs/development/python-modules/python-augeas/default.nix index 1f0bb2cb80d2..8a89fd4d5292 100644 --- a/pkgs/development/python-modules/augeas/default.nix +++ b/pkgs/development/python-modules/python-augeas/default.nix @@ -10,7 +10,7 @@ setuptools, }: buildPythonPackage (finalAttrs: { - pname = "augeas"; + pname = "python-augeas"; version = "1.2.0"; pyproject = true; diff --git a/pkgs/development/python-modules/python-backoff/default.nix b/pkgs/development/python-modules/python-backoff/default.nix index 32b863d24f68..810c0e03fe3f 100644 --- a/pkgs/development/python-modules/python-backoff/default.nix +++ b/pkgs/development/python-modules/python-backoff/default.nix @@ -32,6 +32,10 @@ buildPythonPackage (finalAttrs: { responses ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + meta = { changelog = "https://github.com/python-backoff/backoff/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Python library providing function decorators for configurable backoff and retry"; diff --git a/pkgs/development/python-modules/python-can/default.nix b/pkgs/development/python-modules/python-can/default.nix index 2d862212805b..210f66365d91 100644 --- a/pkgs/development/python-modules/python-can/default.nix +++ b/pkgs/development/python-modules/python-can/default.nix @@ -42,6 +42,8 @@ buildPythonPackage rec { wrapt ]; + pythonRelaxDeps = [ "wrapt" ]; + optional-dependencies = { serial = [ pyserial ]; seeedstudio = [ pyserial ]; diff --git a/pkgs/development/python-modules/fasthtml/default.nix b/pkgs/development/python-modules/python-fasthtml/default.nix similarity index 98% rename from pkgs/development/python-modules/fasthtml/default.nix rename to pkgs/development/python-modules/python-fasthtml/default.nix index 12b9b77c0435..0e47a8aa38a1 100644 --- a/pkgs/development/python-modules/fasthtml/default.nix +++ b/pkgs/development/python-modules/python-fasthtml/default.nix @@ -30,7 +30,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "fasthtml"; + pname = "python-fasthtml"; version = "0.13.3"; pyproject = true; diff --git a/pkgs/development/python-modules/python-homeassistant-analytics/default.nix b/pkgs/development/python-modules/python-homeassistant-analytics/default.nix index ae64842dd512..e5410c6c1cf1 100644 --- a/pkgs/development/python-modules/python-homeassistant-analytics/default.nix +++ b/pkgs/development/python-modules/python-homeassistant-analytics/default.nix @@ -5,6 +5,7 @@ # build-system poetry-core, + pyprojectVersionPatchHook, # dependencies aiohttp, @@ -34,6 +35,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp yarl diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix index b28b9ee66901..9c7dbb880a18 100644 --- a/pkgs/development/python-modules/python-matter-server/default.nix +++ b/pkgs/development/python-modules/python-matter-server/default.nix @@ -3,10 +3,8 @@ buildPythonPackage, fetchFromGitHub, pythonOlder, - stdenvNoCC, buildNpmPackage, python, - home-assistant-chip-wheels, # build setuptools, @@ -154,6 +152,8 @@ buildPythonPackage rec { "tests/server/ota/test_dcl.py" ]; + env.dontCheckPythonMetadata = true; + meta = { changelog = "https://github.com/home-assistant-libs/python-matter-server/releases/tag/${src.tag}"; description = "Python server to interact with Matter"; diff --git a/pkgs/development/python-modules/python-melcloud/default.nix b/pkgs/development/python-modules/python-melcloud/default.nix index 5c81e0547f3c..e1eb073a32c9 100644 --- a/pkgs/development/python-modules/python-melcloud/default.nix +++ b/pkgs/development/python-modules/python-melcloud/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -30,6 +31,10 @@ buildPythonPackage rec { --replace-fail "poetry-core>=1.5,<2.0" poetry-core ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; pythonRemoveDeps = [ diff --git a/pkgs/development/python-modules/python-memcached/default.nix b/pkgs/development/python-modules/python-memcached/default.nix index c3b8e28159b3..e7555b11fad6 100644 --- a/pkgs/development/python-modules/python-memcached/default.nix +++ b/pkgs/development/python-modules/python-memcached/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-Qko4Qr9WofeklU0uRRrSPrT8YaBYMCy0GP+TF7YZHLI="; }; + postPatch = '' + substituteInPlace memcache.py \ + --replace-fail '__version__ = "1.60"' '__version__ = "${version}"' + ''; + nativeBuildInputs = [ setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/python-multipart/default.nix b/pkgs/development/python-modules/python-multipart/default.nix index 5403a419d768..6d6790dd3f41 100644 --- a/pkgs/development/python-modules/python-multipart/default.nix +++ b/pkgs/development/python-modules/python-multipart/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "python-multipart"; - version = "0.0.30"; + version = "0.0.32"; pyproject = true; src = fetchFromGitHub { owner = "Kludex"; repo = "python-multipart"; tag = finalAttrs.version; - hash = "sha256-qW/OkOaM+7sN6+mxO5tm6tuDDJ/c703XDNqo6i6YnXo="; + hash = "sha256-zw6SHzbbjyRCGfUldxdki+wKwmTAgmd9ZAu/2zU+pFw="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/python-open-router/default.nix b/pkgs/development/python-modules/python-open-router/default.nix index 95c9c6583240..b63b290ef2ff 100644 --- a/pkgs/development/python-modules/python-open-router/default.nix +++ b/pkgs/development/python-modules/python-open-router/default.nix @@ -7,6 +7,7 @@ yarl, mashumaro, orjson, + pyprojectVersionPatchHook, pytestCheckHook, pytest-asyncio, pytest-cov-stub, @@ -26,6 +27,8 @@ buildPythonPackage rec { hash = "sha256-hf8Ay3/xXH262/1R07mN0iQpOlHFhHb6VUZoYQEq8YI="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/python-opensky/default.nix b/pkgs/development/python-modules/python-opensky/default.nix index 49391b7b032e..034fdcb6b102 100644 --- a/pkgs/development/python-modules/python-opensky/default.nix +++ b/pkgs/development/python-modules/python-opensky/default.nix @@ -6,6 +6,7 @@ fetchFromGitHub, poetry-core, pydantic, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,13 +27,15 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'version = "0.0.0"' 'version = "${version}"' substituteInPlace src/python_opensky/opensky.py \ --replace ".joinpath(uri)" "/ uri" ''; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + + build-system = [ poetry-core ]; propagatedBuildInputs = [ aiohttp diff --git a/pkgs/development/python-modules/python-overseerr/default.nix b/pkgs/development/python-modules/python-overseerr/default.nix index 040416961f67..b9c44aae59f7 100644 --- a/pkgs/development/python-modules/python-overseerr/default.nix +++ b/pkgs/development/python-modules/python-overseerr/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-9sJWglF1EqwXG0Cj1hOtNE2dYTmxIZoVWHYT5I4RQu0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index b6a949eb1c7f..30d110bffd14 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -73,6 +73,11 @@ buildPythonPackage (finalAttrs: { ] ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; + disabledTests = [ + # url mocking mismatch, probably due to yarl update + "test_url_cycling" + ]; + __darwinAllowLocalNetworking = true; pythonImportsCheck = [ "roborock" ]; diff --git a/pkgs/development/python-modules/python-technove/default.nix b/pkgs/development/python-modules/python-technove/default.nix index aeecb0d10bdd..d6da0d80d0e3 100644 --- a/pkgs/development/python-modules/python-technove/default.nix +++ b/pkgs/development/python-modules/python-technove/default.nix @@ -8,6 +8,7 @@ cachetools, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-TAB70EVrjxpl+vm3ncg45l2duaIXHjn7YKOURkS6k0k="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/python3-nmap/default.nix b/pkgs/development/python-modules/python3-nmap/default.nix index c41f20fc6acf..d4728a58a3b7 100644 --- a/pkgs/development/python-modules/python3-nmap/default.nix +++ b/pkgs/development/python-modules/python3-nmap/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-d/rH3aRNh9SDyVvbiTFCQyfZ6amtnH2iSwKqTOlVLNY="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="1.9.1"' 'version="${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ simplejson ]; diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix index f6aa0ba577f3..6845b412256f 100644 --- a/pkgs/development/python-modules/pyturbojpeg/default.nix +++ b/pkgs/development/python-modules/pyturbojpeg/default.nix @@ -6,20 +6,21 @@ libjpeg_turbo, setuptools, numpy, - python, + pytest-memray, + pytestCheckHook, replaceVars, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyturbojpeg"; - version = "2.3.0"; + version = "2.4.0"; pyproject = true; src = fetchFromGitHub { owner = "lilohuang"; repo = "PyTurboJPEG"; - tag = "v${version}"; - hash = "sha256-rMn5NmiwKhyj4U9kyyRf9ZheVnETpixZoL/AVlBlImQ="; + tag = "v${finalAttrs.version}"; + hash = "sha256-LgUPcRBRjqKhg0SLaZiRG8/QoJxShSvAAmQsuHwfoZM="; }; patches = [ @@ -32,22 +33,23 @@ buildPythonPackage rec { dependencies = [ numpy ]; - # upstream has no tests, but we want to test whether the library is found - checkPhase = '' - runHook preCheck + nativeCheckInputs = [ + pytest-memray + pytestCheckHook + ]; - ${python.interpreter} -c 'from turbojpeg import TurboJPEG; TurboJPEG()' - - runHook postCheck - ''; + disabledTests = [ + # our patch breaks the test + "test_library_loading_error_message" + ]; pythonImportsCheck = [ "turbojpeg" ]; meta = { - changelog = "https://github.com/lilohuang/PyTurboJPEG/releases/tag/${src.tag}"; + changelog = "https://github.com/lilohuang/PyTurboJPEG/releases/tag/${finalAttrs.src.tag}"; description = "Python wrapper of libjpeg-turbo for decoding and encoding JPEG image"; homepage = "https://github.com/lilohuang/PyTurboJPEG"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/pyvirtualdisplay/default.nix b/pkgs/development/python-modules/pyvirtualdisplay/default.nix index 1f76c8690a2a..9e015ee0d775 100644 --- a/pkgs/development/python-modules/pyvirtualdisplay/default.nix +++ b/pkgs/development/python-modules/pyvirtualdisplay/default.nix @@ -21,7 +21,7 @@ pytest-timeout, pytest-xdist, pytestCheckHook, - vncdo, + vncdotool, }: buildPythonPackage rec { @@ -53,7 +53,7 @@ buildPythonPackage rec { psutil pytest-timeout pytestCheckHook - (vncdo.overridePythonAttrs { doCheck = false; }) + (vncdotool.overridePythonAttrs { doCheck = false; }) xorg-server xmessage xvfb diff --git a/pkgs/development/python-modules/pyvis/default.nix b/pkgs/development/python-modules/pyvis/default.nix index 0a63b6be4062..ea70d09908fd 100644 --- a/pkgs/development/python-modules/pyvis/default.nix +++ b/pkgs/development/python-modules/pyvis/default.nix @@ -23,6 +23,11 @@ buildPythonPackage rec { hash = "sha256-eo9Mk2c0hrBarCrzwmkXha3Qt4Bl1qR7Lhl9EkUx96E="; }; + postPatch = '' + substituteInPlace pyvis/_version.py \ + --replace-fail "__version__ = '0.2.0'" "__version__ = '${version}'" + ''; + nativeBuildInputs = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pywaze/default.nix b/pkgs/development/python-modules/pywaze/default.nix index 5804de59344e..844208465309 100644 --- a/pkgs/development/python-modules/pywaze/default.nix +++ b/pkgs/development/python-modules/pywaze/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatchling, httpx, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-yhECJORKVM8R/+CjhSTwgtCPeQ8QwIuG3EZHmtjVkX0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ httpx ]; diff --git a/pkgs/development/python-modules/qnapstats/default.nix b/pkgs/development/python-modules/qnapstats/default.nix index bcbe9c775469..a59fd07c99a1 100644 --- a/pkgs/development/python-modules/qnapstats/default.nix +++ b/pkgs/development/python-modules/qnapstats/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-4zGCMwuPL9QFVLgyZ6/aV9YBQJBomPkX34C7ULEd4Fw="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='0.4.0'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/quart/default.nix b/pkgs/development/python-modules/quart/default.nix index f74a5c1f7d00..13c862261919 100644 --- a/pkgs/development/python-modules/quart/default.nix +++ b/pkgs/development/python-modules/quart/default.nix @@ -67,6 +67,11 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # click 8.4 compat + "test_cli_blueprints" + ]; + meta = { description = "Async Python micro framework for building web applications"; mainProgram = "quart"; diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix index b786afac484d..f9116d7a5ff4 100644 --- a/pkgs/development/python-modules/regex/default.nix +++ b/pkgs/development/python-modules/regex/default.nix @@ -4,23 +4,23 @@ lib, python, setuptools, + pyprojectVersionPatchHook, }: -let - version = "2026.4.4"; -in -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "regex"; - inherit version; + version = "2026.7.11"; pyproject = true; src = fetchFromGitHub { owner = "mrabarnett"; repo = "mrab-regex"; - tag = version; - hash = "sha256-vLhukoQc50XOgv74hBQS36w+T+27y5GTTDetZ2JV8r4="; + tag = finalAttrs.version; + hash = "sha256-x9XjtIUjm1eV0GS0216ZimHx6DNxtxZV5pQ6dbkEfTc="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ setuptools ]; preCheck = '' @@ -46,4 +46,4 @@ buildPythonPackage { ]; maintainers = [ lib.maintainers.dwoffinden ]; }; -} +}) diff --git a/pkgs/development/python-modules/remarshal/default.nix b/pkgs/development/python-modules/remarshal/default.nix index 254be50c8641..7f1ab5ca1e09 100644 --- a/pkgs/development/python-modules/remarshal/default.nix +++ b/pkgs/development/python-modules/remarshal/default.nix @@ -9,10 +9,9 @@ # propagates cbor2, colorama, - python-dateutil, - pyyaml, - rich-argparse, ruamel-yaml, + starlark, + termcolor, tomli, tomlkit, u-msgpack-python, @@ -23,14 +22,14 @@ buildPythonPackage (finalAttrs: { pname = "remarshal"; - version = "1.3.0"; # test with `nix-build pkgs/pkgs-lib/format` + version = "2.1.3"; # test with `nix-build pkgs/pkgs-lib/tests -A formats` pyproject = true; src = fetchFromGitHub { owner = "remarshal-project"; repo = "remarshal"; tag = "v${finalAttrs.version}"; - hash = "sha256-/K8x6ij23pk5O1+XJdFHaGbZ47nFMbXzp+4UMO5dGp4="; + hash = "sha256-n+V2+xSzrBH58F10yKhDiCLvQmlPfDx6rP+ysEGpZg4="; }; build-system = [ poetry-core ]; @@ -38,15 +37,16 @@ buildPythonPackage (finalAttrs: { dependencies = [ cbor2 colorama - python-dateutil - pyyaml - rich-argparse ruamel-yaml + starlark + termcolor tomli tomlkit u-msgpack-python ]; + pythonRelaxDeps = [ "cbor2" ]; + nativeCheckInputs = [ pytestCheckHook ]; meta = { diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix index badf42cfa893..0d094fd47134 100644 --- a/pkgs/development/python-modules/responses/default.nix +++ b/pkgs/development/python-modules/responses/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "responses"; - version = "0.25.8"; + version = "0.26.2"; pyproject = true; __darwinAllowLocalNetworking = true; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "getsentry"; repo = "responses"; tag = version; - hash = "sha256-7vl8+7cpyJFhGDTzklQn7p5NyEFpzX9Yiz2g7fDCPGk="; + hash = "sha256-8+zc7UebB9pBLC5nc7QtuXQIoQ+k+NH1XvajQMGIXNg="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix index 71580fce3be2..f0f260e5b7fb 100644 --- a/pkgs/development/python-modules/respx/default.nix +++ b/pkgs/development/python-modules/respx/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "respx"; - version = "0.22.0"; + version = "0.23.1"; pyproject = true; src = fetchFromGitHub { owner = "lundberg"; repo = "respx"; tag = version; - hash = "sha256-T3DLNXJykSF/HXjlmQdJ2CG4d+U1eTa+XWcgtT3dhl4="; + hash = "sha256-Fz3CS9rIm+H6axVIRErlFTTDgtAcTmGj4/wabLxDV2I="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/rf-protocols/default.nix b/pkgs/development/python-modules/rf-protocols/default.nix index 4b6da5258243..49fc6ce5e5d6 100644 --- a/pkgs/development/python-modules/rf-protocols/default.nix +++ b/pkgs/development/python-modules/rf-protocols/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, prek, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -20,8 +21,17 @@ buildPythonPackage (finalAttrs: { hash = "sha256-g2e+iQXBaoGO1Yv5v+xpiM+beecErI58Ua5/FODg8Bo="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools>=78.1.1,<83.0" setuptools + ''; + build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + nativeCheckInputs = [ prek pytest-asyncio diff --git a/pkgs/development/python-modules/riden/default.nix b/pkgs/development/python-modules/riden/default.nix index 2fa2f095aead..c0f35bfc1927 100644 --- a/pkgs/development/python-modules/riden/default.nix +++ b/pkgs/development/python-modules/riden/default.nix @@ -5,6 +5,7 @@ fetchFromGitHub, modbus-tk, poetry-core, + pyprojectVersionPatchHook, pyserial, setuptools, }: @@ -26,6 +27,10 @@ buildPythonPackage rec { setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ click modbus-tk diff --git a/pkgs/development/python-modules/roman-numerals/default.nix b/pkgs/development/python-modules/roman-numerals/default.nix index 0360ef4b7909..c16b1d37c17f 100644 --- a/pkgs/development/python-modules/roman-numerals/default.nix +++ b/pkgs/development/python-modules/roman-numerals/default.nix @@ -24,6 +24,10 @@ buildPythonPackage (finalAttrs: { nativeCheckInputs = [ pytestCheckHook ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + pythonImportsCheck = [ "roman_numerals" ]; meta = { diff --git a/pkgs/development/python-modules/rpds-py/default.nix b/pkgs/development/python-modules/rpds-py/default.nix index 1407f4fa43c6..7557505707bc 100644 --- a/pkgs/development/python-modules/rpds-py/default.nix +++ b/pkgs/development/python-modules/rpds-py/default.nix @@ -12,18 +12,18 @@ buildPythonPackage rec { pname = "rpds-py"; - version = "0.30.0"; + version = "2026.6.3"; pyproject = true; src = fetchPypi { pname = "rpds_py"; inherit version; - hash = "sha256-3Y/3z5ABSvDA94fuo0eU6/ZBUkLuHW+pHqunJcxEHoQ="; + hash = "sha256-HOvRM3wkLk7CKT5UH3ErLahJsp9I8MKTaEtxwGMmJdQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-2m2DW1rknZR+UztgUcRaQk4gY19eXmT089U2YlV16d8="; + hash = "sha256-7jtXfCBF9+WCZyekWYSMVYPOLYWd1VNwrhMShHre9Mg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/rpy2-robjects/default.nix b/pkgs/development/python-modules/rpy2-robjects/default.nix index 637a76b82a5e..b8800e813e97 100644 --- a/pkgs/development/python-modules/rpy2-robjects/default.nix +++ b/pkgs/development/python-modules/rpy2-robjects/default.nix @@ -12,7 +12,7 @@ pandas, setuptools, tzlocal, - pytestCheckHook, + pytest9_0CheckHook, }: buildPythonPackage rec { @@ -53,7 +53,7 @@ buildPythonPackage rec { tzlocal ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ pytest9_0CheckHook ]; pytestFlags = [ # https://github.com/rpy2/rpy2/issues/1218 diff --git a/pkgs/development/python-modules/rstcheck-core/default.nix b/pkgs/development/python-modules/rstcheck-core/default.nix index b883214e1efe..991a4a9589b4 100644 --- a/pkgs/development/python-modules/rstcheck-core/default.nix +++ b/pkgs/development/python-modules/rstcheck-core/default.nix @@ -29,9 +29,7 @@ buildPythonPackage rec { setuptools-scm ]; - env = { - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-strict-prototypes"; - }; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-strict-prototypes"; dependencies = [ docutils @@ -45,8 +43,8 @@ buildPythonPackage rec { ]; disabledTests = [ - # https://github.com/rstcheck/rstcheck-core/issues/84 - "test_check_yaml_returns_error_on_bad_code_block" + # severity was bumped from severe/4 to error/3 + "test_include_directive_error_without_sphinx" ]; pythonImportsCheck = [ "rstcheck_core" ]; diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix index 214389029d5a..cecebf5fdc9e 100644 --- a/pkgs/development/python-modules/schema-salad/default.nix +++ b/pkgs/development/python-modules/schema-salad/default.nix @@ -1,5 +1,6 @@ { lib, + ast-serialize, black, buildPythonPackage, cachecontrol, @@ -44,6 +45,7 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; dependencies = [ + ast-serialize cachecontrol mistune mypy diff --git a/pkgs/development/python-modules/scikit-build-core/default.nix b/pkgs/development/python-modules/scikit-build-core/default.nix index 019b2f66a2e6..0834e21b755f 100644 --- a/pkgs/development/python-modules/scikit-build-core/default.nix +++ b/pkgs/development/python-modules/scikit-build-core/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, # build-system hatch-vcs, @@ -28,24 +27,16 @@ buildPythonPackage (finalAttrs: { pname = "scikit-build-core"; - version = "0.12.2"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "scikit-build"; repo = "scikit-build-core"; tag = "v${finalAttrs.version}"; - hash = "sha256-JE6z44u1FLfI+Gguhd2rVUvY8tyEoo/WviGJmPRT8kc="; + hash = "sha256-skqX3+jS+lT0zfc5E4ssrZfoZkUrel9WD6a70OX1shg="; }; - patches = [ - (fetchpatch { - name = "setuptools-scm-10-compat.patch"; - url = "https://github.com/scikit-build/scikit-build-core/commit/1b870c538bf7ca679fc4a6e0cbba301c98d9ac35.patch"; - hash = "sha256-JUxBvKiAHpDlIIFkvU+CflTNA6m/auxW5wd5cVYpvcM="; - }) - ]; - build-system = [ hatch-vcs hatchling diff --git a/pkgs/development/python-modules/scikit-build/default.nix b/pkgs/development/python-modules/scikit-build/default.nix index 8bf1fbdc5ba7..79285c935de3 100644 --- a/pkgs/development/python-modules/scikit-build/default.nix +++ b/pkgs/development/python-modules/scikit-build/default.nix @@ -22,13 +22,13 @@ buildPythonPackage rec { pname = "scikit-build"; - version = "0.19.0"; + version = "0.19.1"; pyproject = true; src = fetchPypi { pname = "scikit_build"; inherit version; - hash = "sha256-RuGy1xND0U5MB9fmCQLmc8eN77miwoK3CtgPuFAq3i4="; + hash = "sha256-uajQf8otXRDZMiC8V6aFFh1yrx/HYoXVXFZN2qhi5YQ="; }; # This line in the filterwarnings section of the pytest configuration leads to this error: diff --git a/pkgs/development/python-modules/service-identity/default.nix b/pkgs/development/python-modules/service-identity/default.nix index eb64e0455d16..64309650ecdd 100644 --- a/pkgs/development/python-modules/service-identity/default.nix +++ b/pkgs/development/python-modules/service-identity/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "service-identity"; - version = "24.2.0"; + version = "26.1.0"; pyproject = true; src = fetchFromGitHub { owner = "pyca"; repo = "service-identity"; tag = finalAttrs.version; - hash = "sha256-onxCUWqGVeenLqB5lpUpj3jjxTM61ogXCQOGnDnClT4="; + hash = "sha256-ujH0RdsdvbNbQVhlRfLnKSj3LbLE4RVwlaEsMNZmuLA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/setuptools-rust/default.nix b/pkgs/development/python-modules/setuptools-rust/default.nix index a13c0e7be526..71e2bda6fd30 100644 --- a/pkgs/development/python-modules/setuptools-rust/default.nix +++ b/pkgs/development/python-modules/setuptools-rust/default.nix @@ -17,13 +17,13 @@ }: buildPythonPackage rec { pname = "setuptools-rust"; - version = "1.12.0"; + version = "1.13.0"; pyproject = true; src = fetchPypi { pname = "setuptools_rust"; inherit version; - hash = "sha256-2UqT8Ml3UcFwFFZfB73DJL7kXTls0buoPY56+SuUXww="; + hash = "sha256-8q/PS67uaJkQzknPqKrU4IzOcvQXRJvMMokbhmT9xyY="; }; build-system = [ diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 1cef51c821e4..208a7b8f8253 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "setuptools"; - version = "82.0.1"; + version = "83.0.0"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "setuptools"; tag = "v${finalAttrs.version}"; - hash = "sha256-M4fB+R4UNla2VlcWNhfDLvExQMpjLkPkgVsU4vg6ImU="; + hash = "sha256-Gn2gH2LnsgeX1MvDRBbnFnI6WjkjBFItU4SelowkjBc="; }; patches = [ diff --git a/pkgs/development/python-modules/sh/default.nix b/pkgs/development/python-modules/sh/default.nix index b21bbfa82957..4f473cfb0268 100644 --- a/pkgs/development/python-modules/sh/default.nix +++ b/pkgs/development/python-modules/sh/default.nix @@ -3,23 +3,23 @@ stdenv, buildPythonPackage, fetchFromGitHub, - poetry-core, + hatchling, pytestCheckHook, }: buildPythonPackage rec { pname = "sh"; - version = "2.2.2"; + version = "2.3.0"; pyproject = true; src = fetchFromGitHub { owner = "amoffat"; repo = "sh"; tag = version; - hash = "sha256-5B+Bsxv2X1BHEMg8uv56ex//6EKEcLmte7ozcKzul/c="; + hash = "sha256-xtrT8fac7eJeGZ15yQqdYUqILcY1jUCVajX/j0ljl7Q="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ hatchling ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -39,8 +39,6 @@ buildPythonPackage rec { # fails to import itself after modifying the environment "test_environment" # timing sensitive through usage of sleep(1) and signal handling - # https://github.com/amoffat/sh/issues/684 - "test_general_signal" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Disable tests that fail on Darwin sandbox diff --git a/pkgs/development/python-modules/shiboken6-generator/default.nix b/pkgs/development/python-modules/shiboken6-generator/default.nix index 680a952cdcfa..efb0e527ae14 100644 --- a/pkgs/development/python-modules/shiboken6-generator/default.nix +++ b/pkgs/development/python-modules/shiboken6-generator/default.nix @@ -12,12 +12,12 @@ let in stdenv'.mkDerivation (finalAttrs: { pname = "shiboken6-generator"; - version = "6.11.0"; + version = "6.11.1"; src = fetchgit { url = "https://code.qt.io/pyside/pyside-setup.git"; tag = "v${finalAttrs.version}"; - hash = "sha256-UbvH+wNiXjfMhaRUODx3p2cJmAz/dJ5kjPSprGKwsYg="; + hash = "sha256-m1vBGIUOgjx+0/MkiCASP6HaX5YM2B/txnbww7dKjCk="; }; patches = [ diff --git a/pkgs/development/python-modules/simpleitk/default.nix b/pkgs/development/python-modules/simpleitk/default.nix index a8503a1197f2..18b4ad91ec34 100644 --- a/pkgs/development/python-modules/simpleitk/default.nix +++ b/pkgs/development/python-modules/simpleitk/default.nix @@ -28,6 +28,11 @@ buildPythonPackage rec { swig scikit-build ]; + + cmakeFlags = [ + "-DSimpleITK_BUILD_DISTRIBUTE=ON" + ]; + propagatedBuildInputs = [ elastix itk diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix index 18e03236db18..f752aaf4f823 100644 --- a/pkgs/development/python-modules/simplejson/default.nix +++ b/pkgs/development/python-modules/simplejson/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "simplejson"; - version = "3.20.2"; + version = "4.1.1"; format = "setuptools"; src = fetchFromGitHub { owner = "simplejson"; repo = "simplejson"; tag = "v${version}"; - hash = "sha256-err3NWljoC6MxJoFSYuqLHGKfDcst6ya7myP9XIRbFc="; + hash = "sha256-t7DU6NquHUy6WntmburFcYckUFXPcL15wh49zLc4eXo="; }; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/smp/default.nix b/pkgs/development/python-modules/smp/default.nix index 548e087ab316..9f4e65e45917 100644 --- a/pkgs/development/python-modules/smp/default.nix +++ b/pkgs/development/python-modules/smp/default.nix @@ -7,6 +7,7 @@ crcmod, eval-type-backport, pydantic, + pyprojectVersionPatchHook, pytestCheckHook, }: @@ -22,10 +23,9 @@ buildPythonPackage rec { hash = "sha256-RjecTnMYNcJeD7wqq4FkwRvEgTn5V/RwMfOjf2dqQ+U="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail 'version = "0"' 'version = "${version}"' - ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; build-system = [ poetry-core @@ -38,6 +38,10 @@ buildPythonPackage rec { pydantic ]; + pythonRelaxDeps = [ + "cbor2" + ]; + nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/snowballstemmer/default.nix b/pkgs/development/python-modules/snowballstemmer/default.nix index 2f5c94b43399..2717cbeaa8b6 100644 --- a/pkgs/development/python-modules/snowballstemmer/default.nix +++ b/pkgs/development/python-modules/snowballstemmer/default.nix @@ -7,12 +7,12 @@ buildPythonPackage (finalAttrs: { pname = "snowballstemmer"; - version = "3.0.1"; + version = "3.1.1"; format = "setuptools"; src = fetchPypi { inherit (finalAttrs) pname version; - sha256 = "sha256-bV7u7I6fhNTVa4R2krrPebwsjpDH+AykRE/4tvLlKJU="; + sha256 = "sha256-4Hu8VKDXmP5gEKEjmEIuYqi/u6lcOU/QlW71jLTT4mA="; }; # No tests included diff --git a/pkgs/development/python-modules/soupsieve/default.nix b/pkgs/development/python-modules/soupsieve/default.nix index 9074261f5cfa..c0f30c8e2380 100644 --- a/pkgs/development/python-modules/soupsieve/default.nix +++ b/pkgs/development/python-modules/soupsieve/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "soupsieve"; - version = "2.8.3"; + version = "2.8.4"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Mmfx7upCUftCcott+3Ru3JrK/8SkWyfhlFC2dlhug0k="; + hash = "sha256-4SH9Aul1xpXk6eh3Sl7jXXRxS1kweGjcxTGa0tnjMo4="; }; nativeBuildInputs = [ hatchling ]; diff --git a/pkgs/development/python-modules/sparsediffpy/default.nix b/pkgs/development/python-modules/sparsediffpy/default.nix index 2a82b7b7d507..666042fe9794 100644 --- a/pkgs/development/python-modules/sparsediffpy/default.nix +++ b/pkgs/development/python-modules/sparsediffpy/default.nix @@ -15,7 +15,7 @@ buildPythonPackage (finalAttrs: { pname = "sparsediffpy"; - version = "0.5.1"; + version = "0.6.1"; pyproject = true; __structuredAttrs = true; @@ -26,7 +26,7 @@ buildPythonPackage (finalAttrs: { # SparseDiffEngine is built from source and their cmake does not support finding it on the # system. We fallback to using the git submodule approach for now. fetchSubmodules = true; - hash = "sha256-PqtD3FjOpYLuu5ddeTdJ1UcL4Wvcv6RoZFGchpVdBAI="; + hash = "sha256-W0S7VpPrthj5IuXkqPgb9YwuebcjF1e4rAKcStRowII="; }; build-system = [ diff --git a/pkgs/development/python-modules/speechbrain/default.nix b/pkgs/development/python-modules/speechbrain/default.nix index 2bc905414aac..31b943e4ee95 100644 --- a/pkgs/development/python-modules/speechbrain/default.nix +++ b/pkgs/development/python-modules/speechbrain/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system setuptools, @@ -33,6 +34,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-98g9HSCD6ahsmCSKSKIY1okYOuzUqVuJO9N9WUiZMPk="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix b/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix index a084e1a54962..4c3e107a318f 100644 --- a/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix +++ b/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "sphinx-autodoc-typehints"; - version = "3.10.5"; + version = "3.12.1"; pyproject = true; src = fetchFromGitHub { owner = "tox-dev"; repo = "sphinx-autodoc-typehints"; tag = finalAttrs.version; - hash = "sha256-ClRfCv3UvUdnSnm5XuyrWj8oFQMSAPb3ZCDokAWI4cE="; + hash = "sha256-RgRyYZcMJ2bgTxvf339ZEn2f1/BczlSSSv8tbDMn9fs="; }; build-system = [ diff --git a/pkgs/development/python-modules/sphinx-issues/default.nix b/pkgs/development/python-modules/sphinx-issues/default.nix index fb2b81409688..aa00a5cf5489 100644 --- a/pkgs/development/python-modules/sphinx-issues/default.nix +++ b/pkgs/development/python-modules/sphinx-issues/default.nix @@ -8,14 +8,14 @@ }: buildPythonPackage rec { pname = "sphinx-issues"; - version = "5.0.1"; + version = "6.0.0"; pyproject = true; src = fetchFromGitHub { owner = "sloria"; repo = "sphinx-issues"; tag = version; - hash = "sha256-/nc5gtZbE1ziMPWIkZTkevMfVkNtJYL/b5QLDeMhzUs="; + hash = "sha256-havy1wP300yAKRi68fAVfQS7t5S9NueuGqE2RqdkVP0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index b0733c1289e5..bd67cc2959d4 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -83,6 +83,8 @@ buildPythonPackage rec { sphinxcontrib-websupport ]; + pythonRelaxDeps = [ "docutils" ]; + __darwinAllowLocalNetworking = true; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix b/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix index 1bddcab744a7..0d829173438c 100644 --- a/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix +++ b/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix @@ -22,6 +22,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-2hS8EzaUlxAqBT0R5NMYAuj3ZMPq+x5nqJnidQOAGfM="; }; + postPatch = '' + substituteInPlace sphinxfeed.py \ + --replace-fail "__version__ = '0.3.5'" "__version__ = '${finalAttrs.version}'" + ''; + build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/sqlite-vec/default.nix b/pkgs/development/python-modules/sqlite-vec/default.nix index fa5786b24425..2f710628c9b6 100644 --- a/pkgs/development/python-modules/sqlite-vec/default.nix +++ b/pkgs/development/python-modules/sqlite-vec/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchpatch, + pyprojectVersionPatchHook, # build-system setuptools, @@ -58,6 +59,10 @@ buildPythonPackage rec { setuptools-scm ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ sqlite-vec-c ]; diff --git a/pkgs/development/python-modules/starlark/default.nix b/pkgs/development/python-modules/starlark/default.nix new file mode 100644 index 000000000000..3762afeb60a8 --- /dev/null +++ b/pkgs/development/python-modules/starlark/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hypothesis, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "starlark"; + version = "0.5.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "dbohdan"; + repo = "starlark-python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-J3QgztBmoJBJ8VGl+w7Ybwyuehw8ZEEy6oHIn91tVAY="; + }; + + build-system = [ + hatchling + ]; + + nativeCheckInputs = [ + hypothesis + pytestCheckHook + ]; + + pythonImportsCheck = [ + "starlark" + ]; + + meta = { + description = "Starlark in pure Python"; + homepage = "https://github.com/dbohdan/starlark-python"; + changelog = "https://github.com/dbohdan/starlark-python/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix index 98974519d575..b2024f5c8496 100644 --- a/pkgs/development/python-modules/starlette/default.nix +++ b/pkgs/development/python-modules/starlette/default.nix @@ -8,7 +8,6 @@ # dependencies anyio, - typing-extensions, # optional dependencies itsdangerous, @@ -16,6 +15,7 @@ python-multipart, pyyaml, httpx, + httpx2, # tests pytestCheckHook, @@ -27,14 +27,14 @@ buildPythonPackage rec { pname = "starlette"; - version = "1.1.0"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "Kludex"; repo = "starlette"; tag = version; - hash = "sha256-9iQXlpA1VDGw1c7X1zJPmJ3Dub46PwqrVIX1+fWOZ7M="; + hash = "sha256-0eby4cDIU2bPUv+1qSTnZtfo4kkgMDIDYnZ9wp2wtoI="; }; build-system = [ hatchling ]; @@ -47,12 +47,12 @@ buildPythonPackage rec { python-multipart pyyaml httpx + httpx2 ]; nativeCheckInputs = [ pytestCheckHook trio - typing-extensions ] ++ lib.concatAttrValues optional-dependencies; diff --git a/pkgs/development/python-modules/stevedore/default.nix b/pkgs/development/python-modules/stevedore/default.nix index 639bffac6623..389fdf579ce7 100644 --- a/pkgs/development/python-modules/stevedore/default.nix +++ b/pkgs/development/python-modules/stevedore/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "stevedore"; - version = "5.6.0"; + version = "5.9.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-8i0VxurUDFu/qcpUqn57SgfVmzauA+0SztGlTPC1GUU="; + hash = "sha256-q70K96OKi7sdat6i41sXYJzwBOqsMj6IqNiWNkDdKzw="; }; build-system = [ diff --git a/pkgs/development/python-modules/stopit/default.nix b/pkgs/development/python-modules/stopit/default.nix index 5f839255addf..70ed4c53cc49 100644 --- a/pkgs/development/python-modules/stopit/default.nix +++ b/pkgs/development/python-modules/stopit/default.nix @@ -32,6 +32,7 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "stopit" ]; meta = { + broken = lib.versionAtLeast setuptools.version "82"; description = "Raise asynchronous exceptions in other thread, control the timeout of blocks or callables with a context manager or a decorator"; homepage = "https://github.com/glenfant/stopit"; changelog = "https://github.com/glenfant/stopit/blob/${finalAttrs.version}/CHANGES.rst"; diff --git a/pkgs/development/python-modules/strawberry-django/default.nix b/pkgs/development/python-modules/strawberry-graphql-django/default.nix similarity index 93% rename from pkgs/development/python-modules/strawberry-django/default.nix rename to pkgs/development/python-modules/strawberry-graphql-django/default.nix index 15fd5d2b9313..54a467314af6 100644 --- a/pkgs/development/python-modules/strawberry-django/default.nix +++ b/pkgs/development/python-modules/strawberry-graphql-django/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system hatchling, @@ -33,7 +34,7 @@ }: buildPythonPackage rec { - pname = "strawberry-django"; + pname = "strawberry-graphql-django"; version = "0.86.0"; pyproject = true; @@ -49,6 +50,10 @@ buildPythonPackage rec { echo 'STATIC_URL = "static/"' >> tests/django_settings.py ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/strawberry-graphql/default.nix b/pkgs/development/python-modules/strawberry-graphql/default.nix index 0b6a166da5bb..3bb60345bee4 100644 --- a/pkgs/development/python-modules/strawberry-graphql/default.nix +++ b/pkgs/development/python-modules/strawberry-graphql/default.nix @@ -23,6 +23,7 @@ pydantic, pygments, pyinstrument, + pyprojectVersionPatchHook, pytest-aiohttp, pytest-asyncio, pytest-django, @@ -62,6 +63,8 @@ buildPythonPackage (finalAttrs: { --replace-fail "--emoji" "" ''; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ uv-build ]; dependencies = [ diff --git a/pkgs/development/python-modules/strct/default.nix b/pkgs/development/python-modules/strct/default.nix index dd481a5fb52a..880c24d10e39 100644 --- a/pkgs/development/python-modules/strct/default.nix +++ b/pkgs/development/python-modules/strct/default.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch, buildPythonPackage, setuptools_80, pytestCheckHook, @@ -20,6 +21,15 @@ buildPythonPackage rec { hash = "sha256-4IykGzy1PTrRAbx/sdtzL4My4cDSlplL9rOFBcLbaB8="; }; + patches = [ + (fetchpatch { + name = "support-setuptools-82.patch"; + url = "https://github.com/shaypal5/strct/commit/5005a939b590cd992d985128a2c1dba230a7fe41.patch"; + includes = [ "setup.py" ]; + hash = "sha256-0vRRst79G6JZZ+IzBR7rr85nOo0qY0ikVBz4Lvauwbc="; + }) + ]; + # don't append .dev0 to version env.RELEASING_PROCESS = "1"; diff --git a/pkgs/development/python-modules/stups-tokens/default.nix b/pkgs/development/python-modules/stups-tokens/default.nix index a2614e55969e..8a0f9cebad98 100644 --- a/pkgs/development/python-modules/stups-tokens/default.nix +++ b/pkgs/development/python-modules/stups-tokens/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { sha256 = "09z3l3xzdlwpivbi141gk1k0zd9m75mjwbdy81zc386rr9k8s0im"; }; + postPatch = '' + substituteInPlace tokens/__init__.py \ + --replace-fail "__version__ = '0.8'" "__version__ = '${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index f7e5ea7382bd..83bd386e7034 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -21,6 +21,9 @@ buildPythonPackage (finalAttrs: { }; postPatch = '' + substituteInPlace setup.py \ + --replace-fail version=version 'version="${finalAttrs.version}"' + substituteInPlace setup.cfg \ --replace "rednose = 1" "" ''; diff --git a/pkgs/development/python-modules/swagger-spec-validator/default.nix b/pkgs/development/python-modules/swagger-spec-validator/default.nix index 32c145b8276d..d7754089ea0e 100644 --- a/pkgs/development/python-modules/swagger-spec-validator/default.nix +++ b/pkgs/development/python-modules/swagger-spec-validator/default.nix @@ -3,12 +3,10 @@ buildPythonPackage, fetchFromGitHub, setuptools, - importlib-resources, jsonschema, pyyaml, - six, pytestCheckHook, - mock, + typing-extensions, }: buildPythonPackage (finalAttrs: { @@ -23,18 +21,26 @@ buildPythonPackage (finalAttrs: { hash = "sha256-8T0973g8JZKLCTpYqyScr/JAiFdBexEReUJoMQh4vO4="; }; + postPatch = '' + # https://github.com/Yelp/swagger_spec_validator/pull/176 + substituteInPlace swagger_spec_validator/common.py tests/common_test.py \ + --replace-fail "import importlib_resources" "import importlib.resources as importlib_resources" + ''; + build-system = [ setuptools ]; + pythonRemoveDeps = [ + "importlib-resources" + ]; + dependencies = [ pyyaml - importlib-resources jsonschema - six + typing-extensions ]; nativeCheckInputs = [ pytestCheckHook - mock ]; pythonImportsCheck = [ "swagger_spec_validator" ]; diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix index c4f84e150699..08a2e69b4708 100644 --- a/pkgs/development/python-modules/syrupy/default.nix +++ b/pkgs/development/python-modules/syrupy/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "syrupy"; - version = "5.2.0"; + version = "5.5.3"; pyproject = true; src = fetchFromGitHub { owner = "syrupy-project"; repo = "syrupy"; tag = "v${finalAttrs.version}"; - hash = "sha256-tivRKADRYyyNmNOOd0w2qTseA3t7TMwkAkQ/Kr6wp6U="; + hash = "sha256-aFwYJsDviI7j7xeEdtDGy0t4JCLMr/z57Gjl9mQo0SE="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/systembridgeconnector/default.nix b/pkgs/development/python-modules/systembridgeconnector/default.nix index 1f0245bc6955..d2f99e25f13a 100644 --- a/pkgs/development/python-modules/systembridgeconnector/default.nix +++ b/pkgs/development/python-modules/systembridgeconnector/default.nix @@ -25,6 +25,11 @@ buildPythonPackage rec { hash = "sha256-gkZRvS0abfXFEz2oRuaGJRmhFoxe92F3czNkahNdTm8="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools diff --git a/pkgs/development/python-modules/tag-expressions/default.nix b/pkgs/development/python-modules/tag-expressions/default.nix index fec5184933ea..19a9999b2fa6 100644 --- a/pkgs/development/python-modules/tag-expressions/default.nix +++ b/pkgs/development/python-modules/tag-expressions/default.nix @@ -17,6 +17,11 @@ buildPythonPackage rec { hash = "sha256-EbSwfAH+sL3JGW+COfDA2f7cLGyKmQMsbyyDGy13Lkg="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version=read_version()' 'version="${version}"' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/tessie-api/default.nix b/pkgs/development/python-modules/tessie-api/default.nix index dbe80af65752..67113809b1c6 100644 --- a/pkgs/development/python-modules/tessie-api/default.nix +++ b/pkgs/development/python-modules/tessie-api/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, aiohttp, hatchling, + pyprojectVersionPatchHook, pytz, pytestCheckHook, pytest-asyncio, @@ -21,6 +22,10 @@ buildPythonPackage rec { hash = "sha256-Ia5J7dGbcfEa6rEKyJzEnzVnMC3HyI7l5g20v7d7Gjo="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix index e1c2cfc6e0bf..0ea71bcbe6af 100644 --- a/pkgs/development/python-modules/testtools/default.nix +++ b/pkgs/development/python-modules/testtools/default.nix @@ -14,12 +14,12 @@ buildPythonPackage rec { pname = "testtools"; - version = "2.7.2"; + version = "2.9.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-W+W7wfD6D4tgrKbO7AeEXUHQxHXPRFv6200sRew5fqM="; + hash = "sha256-Oa2eueG5NdaDj0s67k1ucttl31YC9v7amY27T+jeCxk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/tilt-pi/default.nix b/pkgs/development/python-modules/tilt-pi/default.nix index 03b700368773..5bac66b0a38d 100644 --- a/pkgs/development/python-modules/tilt-pi/default.nix +++ b/pkgs/development/python-modules/tilt-pi/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, lib, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -20,6 +21,8 @@ buildPythonPackage rec { hash = "sha256-jGy7nwSblF486ldt4ShBEmmZtb0c4+7IuI10cN7Bw1A="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/tlsh/default.nix b/pkgs/development/python-modules/tlsh/default.nix index 1c2c8aa8532a..05341909dbed 100644 --- a/pkgs/development/python-modules/tlsh/default.nix +++ b/pkgs/development/python-modules/tlsh/default.nix @@ -23,17 +23,22 @@ buildPythonPackage rec { ./cmake-4-compat.patch ]; + postPatch = '' + substituteInPlace py_ext/setup.py \ + --replace-fail "4.5.0" "${version}" + ''; + nativeBuildInputs = [ cmake ]; + postConfigure = '' + cd ../py_ext + ''; + build-system = [ setuptools ]; # no test data doCheck = false; - postConfigure = '' - cd ../py_ext - ''; - pythonImportsCheck = [ "tlsh" ]; meta = { diff --git a/pkgs/development/python-modules/tomli/default.nix b/pkgs/development/python-modules/tomli/default.nix index a57cddde1f7e..be5af903241f 100644 --- a/pkgs/development/python-modules/tomli/default.nix +++ b/pkgs/development/python-modules/tomli/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "tomli"; - version = "2.4.0"; + version = "2.4.1"; pyproject = true; src = fetchFromGitHub { owner = "hukkin"; repo = "tomli"; rev = version; - hash = "sha256-PVYwCUGQSuCe5WMeOBJpGXiJ4keVllzg9H3y+Il+Nr8="; + hash = "sha256-MBcmp0SeK/wum3c2c/eu8VEofXDguolHI30QwKahAGE="; }; nativeBuildInputs = [ flit-core ]; diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix index 5cf78e0fa30e..b7407cceaf68 100644 --- a/pkgs/development/python-modules/tomlkit/default.nix +++ b/pkgs/development/python-modules/tomlkit/default.nix @@ -13,12 +13,12 @@ buildPythonPackage rec { pname = "tomlkit"; - version = "0.14.0"; + version = "0.15.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-zwDvykFdvVdXW++x9mNMT0LS2H27o3YSittCwSG4cGQ="; + hash = "sha256-fRqey6MIZjghGxOBTqeckN1U3RGZNWQ3bzqpInH1x6M="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix index 87caeb59adf3..95438249b2b6 100644 --- a/pkgs/development/python-modules/tqdm/default.nix +++ b/pkgs/development/python-modules/tqdm/default.nix @@ -16,12 +16,12 @@ buildPythonPackage rec { pname = "tqdm"; - version = "4.67.3"; + version = "4.68.4"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-fYJfA/iSRO9z8dTOGTyxd0qBef2W8x1+Hc3mIJK5YLs="; + hash = "sha256-GYKclnNjjyoLhhfaTNy5J+gxzYi8/LbnjUKk0a8TFSA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/traitlets/default.nix b/pkgs/development/python-modules/traitlets/default.nix index 7bc0d8c5bd9e..c069b8eec31c 100644 --- a/pkgs/development/python-modules/traitlets/default.nix +++ b/pkgs/development/python-modules/traitlets/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "traitlets"; - version = "5.14.3"; + version = "5.15.1"; pyproject = true; src = fetchFromGitHub { owner = "ipython"; repo = "traitlets"; tag = "v${version}"; - hash = "sha256-lWtgzXW1ffzl1jkFaq99X0dU8agulUMHaghsYKX+8Dk="; + hash = "sha256-c4OZSC2MrX6Jx8x49lOzlkgwpwz+/2l+GGVCzpO/P+8="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix index 7bfd2857a611..c1d1803a1924 100644 --- a/pkgs/development/python-modules/trio/default.nix +++ b/pkgs/development/python-modules/trio/default.nix @@ -35,14 +35,14 @@ let in buildPythonPackage rec { pname = "trio"; - version = "0.32.0"; + version = "0.33.0"; pyproject = true; src = fetchFromGitHub { owner = "python-trio"; repo = "trio"; tag = "v${version}"; - hash = "sha256-kZKP5TFg9M+NCx9V9B0qNbGiwZtBPtgVKgZYjX5w1ok="; + hash = "sha256-juqlTJPcXpLdzO5OBCcwVR7rckABza9TAhPs9ta5c8U="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/trmnl/default.nix b/pkgs/development/python-modules/trmnl/default.nix index 8bc2662263b9..4b9f1c266999 100644 --- a/pkgs/development/python-modules/trmnl/default.nix +++ b/pkgs/development/python-modules/trmnl/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, aiohttp, mashumaro, orjson, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Gpyhp+d27/IxDOTFxcN9ltYbOJOg9scf17qVb/ArBw0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/trove-classifiers/default.nix b/pkgs/development/python-modules/trove-classifiers/default.nix index 898180da3cd0..083bb90e8fcd 100644 --- a/pkgs/development/python-modules/trove-classifiers/default.nix +++ b/pkgs/development/python-modules/trove-classifiers/default.nix @@ -7,44 +7,41 @@ setuptools, }: -let - self = buildPythonPackage rec { - pname = "trove-classifiers"; - version = "2026.5.20.19"; - pyproject = true; +buildPythonPackage (finalAttrs: { + pname = "trove-classifiers"; + version = "2026.6.1.19"; + pyproject = true; - src = fetchPypi { - pname = "trove_classifiers"; - inherit version; - hash = "sha256-bmEZk5h8qTJpaK1wRScz2t0xRxWZ05iWBFsolwqbuB4="; - }; - - postPatch = '' - substituteInPlace tests/test_cli.py \ - --replace-fail "BINDIR = Path(sys.executable).parent" "BINDIR = '$out/bin'" - ''; - - build-system = [ - calver - setuptools - ]; - - doCheck = false; # avoid infinite recursion with hatchling - - nativeCheckInputs = [ pytestCheckHook ]; - - pythonImportsCheck = [ "trove_classifiers" ]; - - passthru.tests.trove-classifiers = self.overridePythonAttrs { doCheck = true; }; - - meta = { - description = "Canonical source for classifiers on PyPI"; - homepage = "https://github.com/pypa/trove-classifiers"; - changelog = "https://github.com/pypa/trove-classifiers/releases/tag/${version}"; - license = lib.licenses.asl20; - mainProgram = "trove-classifiers"; - maintainers = with lib.maintainers; [ dotlambda ]; - }; + src = fetchPypi { + pname = "trove_classifiers"; + inherit (finalAttrs) version; + hash = "sha256-xRMrS2GoKdEc+9LXLpfyCkXtbtuV5Fxe/eteAINrJ0U="; }; -in -self + + postPatch = '' + substituteInPlace tests/test_cli.py \ + --replace-fail "BINDIR = Path(sys.executable).parent" "BINDIR = '$out/bin'" + ''; + + build-system = [ + calver + setuptools + ]; + + doCheck = false; # avoid infinite recursion with hatchling + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "trove_classifiers" ]; + + passthru.tests.trove-classifiers = finalAttrs.finalPackage.overrideAttrs { doInstallCheck = true; }; + + meta = { + description = "Canonical source for classifiers on PyPI"; + homepage = "https://github.com/pypa/trove-classifiers"; + changelog = "https://github.com/pypa/trove-classifiers/releases/tag/${finalAttrs.version}"; + license = lib.licenses.asl20; + mainProgram = "trove-classifiers"; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +}) diff --git a/pkgs/development/python-modules/ttp-templates/default.nix b/pkgs/development/python-modules/ttp-templates/default.nix index f6818c7e6a73..26139e8e4e1c 100644 --- a/pkgs/development/python-modules/ttp-templates/default.nix +++ b/pkgs/development/python-modules/ttp-templates/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, poetry-core, pydantic, + pyprojectVersionPatchHook, }: buildPythonPackage (finalAttrs: { @@ -18,7 +19,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-W6F0/CGm713HhCtgqv+tEDm5mlkx0JJRmnUc9j+Fnvs="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; dependencies = [ pydantic ]; diff --git a/pkgs/development/python-modules/ttp/default.nix b/pkgs/development/python-modules/ttp/default.nix index dffb57bc6d97..0eb01d3ea45d 100644 --- a/pkgs/development/python-modules/ttp/default.nix +++ b/pkgs/development/python-modules/ttp/default.nix @@ -11,6 +11,7 @@ openpyxl, pytestCheckHook, poetry-core, + pyprojectVersionPatchHook, pyyaml, tabulate, ttp-templates, @@ -29,7 +30,11 @@ buildPythonPackage rec { hash = "sha256-A0McQRpSjr0EYIrHQExtBqMe+AmL+IGWaRHeexyvtvg="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; propagatedBuildInputs = [ # https://github.com/dmulyalin/ttp/blob/master/docs/source/Installation.rst#additional-dependencies diff --git a/pkgs/development/python-modules/tuya-device-handlers/default.nix b/pkgs/development/python-modules/tuya-device-handlers/default.nix index 96f84b9bec26..d513276c6718 100644 --- a/pkgs/development/python-modules/tuya-device-handlers/default.nix +++ b/pkgs/development/python-modules/tuya-device-handlers/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, tuya-device-sharing-sdk, pytestCheckHook, syrupy, @@ -20,6 +21,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-nJX7N3PCqMmlE2KipeCKTFLn91sJmzmPTizY9cxjnb0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ tuya-device-sharing-sdk ]; diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix index 6082e3384240..777fd563ffc3 100644 --- a/pkgs/development/python-modules/twine/default.nix +++ b/pkgs/development/python-modules/twine/default.nix @@ -55,6 +55,11 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # docutils 0.23 string changes + "test_fails_rst_syntax_error" + ]; + pythonImportsCheck = [ "twine" ]; meta = { diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix index b1c969e2d398..cc0dc5cc565e 100644 --- a/pkgs/development/python-modules/typeguard/default.nix +++ b/pkgs/development/python-modules/typeguard/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "typeguard"; - version = "4.5.1"; + version = "4.5.2"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-9vjsu8gZybx0mYPMZ8AjkeFqm0O4sn8V3HDtfEoAcnQ="; + hash = "sha256-WhbcrCNQIDkpnJfIlBZRvDPX6ozEsvfWu7G1KPbupCM="; }; outputs = [ diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix index 65a0772135ad..7465b92890ea 100644 --- a/pkgs/development/python-modules/typer/default.nix +++ b/pkgs/development/python-modules/typer/default.nix @@ -17,7 +17,7 @@ # tests pytest-xdist, - pytestCheckHook, + pytest9_0CheckHook, writableTmpDirAsHomeHook, procps, }: @@ -54,7 +54,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-xdist - pytestCheckHook + pytest9_0CheckHook writableTmpDirAsHomeHook ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix index ca01caa898f8..954c977a3e5a 100644 --- a/pkgs/development/python-modules/typing-extensions/default.nix +++ b/pkgs/development/python-modules/typing-extensions/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "typing-extensions"; - version = "4.15.0"; + version = "4.16.0"; pyproject = true; src = fetchFromGitHub { owner = "python"; repo = "typing_extensions"; tag = version; - hash = "sha256-3oAlwvNSJ7NhPiHekh4SJI99cPFh29KCCR9314QzsvQ="; + hash = "sha256-L1BRIDYz0YqYE4geKTxIkbCbzTGz7AtrbpB5vR8T4dw="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/tzdata/default.nix b/pkgs/development/python-modules/tzdata/default.nix index b6db24779f12..2ecc577a60cb 100644 --- a/pkgs/development/python-modules/tzdata/default.nix +++ b/pkgs/development/python-modules/tzdata/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "tzdata"; - version = "2026.2"; + version = "2026.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-kXP959gNkBjgKmYuFo5aLQT4fEHqF0sTn772Qu2mLRA="; + hash = "sha256-ShUYuJkwhqeYJSPgcWQ/PA5fIT51shMY54vKv/+dFBU="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/tzlocal/default.nix b/pkgs/development/python-modules/tzlocal/default.nix index c02cf030eccf..fdd7bd269bce 100644 --- a/pkgs/development/python-modules/tzlocal/default.nix +++ b/pkgs/development/python-modules/tzlocal/default.nix @@ -2,44 +2,41 @@ lib, stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, pytest-mock, pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "tzlocal"; - version = "5.3.1"; # version needs to be compatible with APScheduler - + version = "5.4.4"; # version needs to be compatible with APScheduler pyproject = true; + __structuredAttrs = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-zO/8ft7O/qH1lVQdvW6ZDLHqPRm/AbKAnzYqA915If0="; + src = fetchFromGitHub { + owner = "regebro"; + repo = "tzlocal"; + tag = finalAttrs.version; + hash = "sha256-kZ3+YpmJJ7ZHKbEp5RELVnGtwAOJph19Wf32lwuokNM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; nativeCheckInputs = [ pytest-mock pytestCheckHook ]; - disabledTests = [ - "test_conflicting" - "test_noconflict" - "test_symlink_localtime" - ] - ++ lib.optional stdenv.hostPlatform.isDarwin "test_assert_tz_offset"; + disabledTests = lib.optional stdenv.hostPlatform.isDarwin "test_assert_tz_offset"; pythonImportsCheck = [ "tzlocal" ]; meta = { description = "Tzinfo object for the local timezone"; homepage = "https://github.com/regebro/tzlocal"; - changelog = "https://github.com/regebro/tzlocal/blob/${version}/CHANGES.txt"; + changelog = "https://github.com/regebro/tzlocal/blob/${finalAttrs.src.tag}/CHANGES.txt"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix index 79049b56dc9d..7149f5af4ffa 100644 --- a/pkgs/development/python-modules/ujson/default.nix +++ b/pkgs/development/python-modules/ujson/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "ujson"; - version = "5.11.0"; + version = "5.13.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-4gSub5CfCZumtrlCExzuNZ3dorbk6jnBLri5kf4gEOA="; + hash = "sha256-1i49diU4TAgIKrrYGgd69Yf97ydhuxTDgi9CNLjQfXU="; }; nativeBuildInputs = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/urllib3-future/default.nix b/pkgs/development/python-modules/urllib3-future/default.nix index 5d2b1ff95696..7e4c88772925 100644 --- a/pkgs/development/python-modules/urllib3-future/default.nix +++ b/pkgs/development/python-modules/urllib3-future/default.nix @@ -77,6 +77,10 @@ buildPythonPackage rec { ] ++ lib.concatAttrValues optional-dependencies; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTestPaths = [ # test connects to the internet "test/contrib/test_resolver.py::test_url_resolver" diff --git a/pkgs/development/python-modules/usb-devices/default.nix b/pkgs/development/python-modules/usb-devices/default.nix index 3c6ac865101a..3034eb46cea3 100644 --- a/pkgs/development/python-modules/usb-devices/default.nix +++ b/pkgs/development/python-modules/usb-devices/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "usb-devices"; - version = "0.4.5"; + version = "0.5.1"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "usb-devices"; tag = "v${version}"; - hash = "sha256-Nfdl5oRIdOfAo5PFAJJpadRyu2zeEkmYzxDQxbvpt6c="; + hash = "sha256-W6RWm9x/emb1F8Oox927SnH3v8HWCXIFYivVJJh6ves="; }; nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/uv-build/default.nix b/pkgs/development/python-modules/uv-build/default.nix index 0750166192ce..fbe1af7a10e7 100644 --- a/pkgs/development/python-modules/uv-build/default.nix +++ b/pkgs/development/python-modules/uv-build/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "uv-build"; - version = "0.11.16"; + version = "0.11.28"; pyproject = true; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-5LJspcHj/RjOMv7eRB7n+tofX4s51M3kqHCPymCg90A="; + hash = "sha256-/mTH2hojC+l0yxn+LEAIj8FTA/nWKIPZ7uLMVJxebw4="; }; nativeBuildInputs = [ @@ -26,7 +26,7 @@ buildPythonPackage (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-2lg86WxPGVbJ91zi61lKrSqnzFgmmSrBrl+SfV5SJWU="; + hash = "sha256-FvLl32JfIq5a1NnLtnFJyy5T+vkcOD+qfQLDy6NYhHg="; }; buildAndTestSubdir = "crates/uv-build"; diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix index d9d4aba3e6e2..79d6596c40af 100644 --- a/pkgs/development/python-modules/uvicorn/default.nix +++ b/pkgs/development/python-modules/uvicorn/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "uvicorn"; - version = "0.46.0"; + version = "0.51.0"; pyproject = true; src = fetchFromGitHub { owner = "encode"; repo = "uvicorn"; tag = version; - hash = "sha256-+21fEPLnH2nrwPCXNlRw7U1VcXdaUnNCeThTfzepQoY="; + hash = "sha256-VX5X2BY8eZc93r3zfJFhtz1vuXHvaqWB5rTj7zddSzU="; }; outputs = [ @@ -63,7 +63,7 @@ buildPythonPackage rec { meta = { homepage = "https://www.uvicorn.org/"; - changelog = "https://github.com/encode/uvicorn/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/Kludex/uvicorn/blob/${src.tag}/docs/release-notes.md"; description = "Lightning-fast ASGI server"; mainProgram = "uvicorn"; license = lib.licenses.bsd3; diff --git a/pkgs/development/python-modules/vcrpy/default.nix b/pkgs/development/python-modules/vcrpy/default.nix index 5556125736ee..9d80b8fc1620 100644 --- a/pkgs/development/python-modules/vcrpy/default.nix +++ b/pkgs/development/python-modules/vcrpy/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, setuptools, + pytest-asyncio, pytest-httpbin, pytestCheckHook, pyyaml, @@ -14,14 +15,14 @@ buildPythonPackage rec { pname = "vcrpy"; - version = "8.2.1"; + version = "8.3.0"; pyproject = true; src = fetchFromGitHub { owner = "kevin1024"; repo = "vcrpy"; tag = "v${version}"; - hash = "sha256-PlpbBzAj9a4bAfORGozAAsbrzngJt2Pnnp3bI96wYfI="; + hash = "sha256-WQLWUr1EgOibdAVVASxMzeFi1YikYAjjye/NtCEJ6Kk="; }; build-system = [ setuptools ]; @@ -35,6 +36,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ + pytest-asyncio pytest-httpbin pytestCheckHook ]; diff --git a/pkgs/development/python-modules/versionfinder/default.nix b/pkgs/development/python-modules/versionfinder/default.nix index 8d9a8d15036e..195489553504 100644 --- a/pkgs/development/python-modules/versionfinder/default.nix +++ b/pkgs/development/python-modules/versionfinder/default.nix @@ -43,6 +43,8 @@ buildPythonPackage rec { disabledTests = [ # Tests are out-dated "TestFindPipInfo" + # Looks for pkg_resources … good luck, bro + "test_find_pkg_info" ]; pythonImportsCheck = [ "versionfinder" ]; diff --git a/pkgs/development/python-modules/versioningit/default.nix b/pkgs/development/python-modules/versioningit/default.nix index 9c7ea7bfd6df..f73fcb023444 100644 --- a/pkgs/development/python-modules/versioningit/default.nix +++ b/pkgs/development/python-modules/versioningit/default.nix @@ -47,6 +47,10 @@ buildPythonPackage rec { mercurial ]; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = [ # wants to write to the Nix store "test_editable_mode" diff --git a/pkgs/development/python-modules/victron-mqtt/default.nix b/pkgs/development/python-modules/victron-mqtt/default.nix index 9ea5b7794f96..659b84b36af4 100644 --- a/pkgs/development/python-modules/victron-mqtt/default.nix +++ b/pkgs/development/python-modules/victron-mqtt/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatchling, paho-mqtt, + pyprojectVersionPatchHook, pytest-asyncio, pytest-mock, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ paho-mqtt ]; diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix index dbdb04131e0d..ffdd174c3b66 100644 --- a/pkgs/development/python-modules/virtualenv/default.nix +++ b/pkgs/development/python-modules/virtualenv/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "virtualenv"; - version = "21.2.4"; + version = "21.6.1"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "virtualenv"; tag = version; - hash = "sha256-3Ed2h5zzjpm+D1fQW2urWYcO/6sFGuZtueQxUnIu3MY="; + hash = "sha256-8LOmA1Mhfqbl3hsGZa8tQutjfjEVeDlpOKyVut5rDVI="; }; build-system = [ diff --git a/pkgs/development/python-modules/vncdo/default.nix b/pkgs/development/python-modules/vncdotool/default.nix similarity index 95% rename from pkgs/development/python-modules/vncdo/default.nix rename to pkgs/development/python-modules/vncdotool/default.nix index 5fdcf62d14e1..5bfb05292676 100644 --- a/pkgs/development/python-modules/vncdo/default.nix +++ b/pkgs/development/python-modules/vncdotool/default.nix @@ -12,9 +12,10 @@ }: buildPythonPackage rec { - pname = "vncdo"; + pname = "vncdotool"; version = "1.2.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "sibson"; diff --git a/pkgs/development/python-modules/volvocarsapi/default.nix b/pkgs/development/python-modules/volvocarsapi/default.nix index 06eddaead2cd..7b766bc312ae 100644 --- a/pkgs/development/python-modules/volvocarsapi/default.nix +++ b/pkgs/development/python-modules/volvocarsapi/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, pythonOlder, aiohttp, yarl, @@ -22,6 +23,10 @@ buildPythonPackage rec { hash = "sha256-GC2vktTFWh4z/sO+2hhsVKInSl5GQCtzq4q0YtfkfKg="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/watchfiles/default.nix b/pkgs/development/python-modules/watchfiles/default.nix index d784a0c0ea86..b48753ee4de9 100644 --- a/pkgs/development/python-modules/watchfiles/default.nix +++ b/pkgs/development/python-modules/watchfiles/default.nix @@ -13,19 +13,19 @@ buildPythonPackage (finalAttrs: { pname = "watchfiles"; - version = "1.1.1"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "samuelcolvin"; repo = "watchfiles"; tag = "v${finalAttrs.version}"; - hash = "sha256-UlQnCYSNU9H4x31KenSfYExGun94ekrOCwajORemSco="; + hash = "sha256-gfH/8o3WsGL4Qki5kRrWpQLyk85HgTtR6iImInPYthg="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname src version; - hash = "sha256-6sxtH7KrwAWukPjLSMAebguPmeAHbC7YHOn1QiRPigs="; + hash = "sha256-GFGhEXW0M23G0NB4Bu1FXV9Bmdt9weznHHSD/6rBSjI="; }; nativeBuildInputs = [ @@ -52,6 +52,10 @@ buildPythonPackage (finalAttrs: { rm -rf watchfiles ''; + pytestFlags = [ + "-Wignore::pytest.PytestRemovedIn10Warning" + ]; + disabledTests = [ # BaseExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) "test_awatch_interrupt_raise" diff --git a/pkgs/development/python-modules/wcwidth/default.nix b/pkgs/development/python-modules/wcwidth/default.nix index d8c9b9cea8c5..df2870666854 100644 --- a/pkgs/development/python-modules/wcwidth/default.nix +++ b/pkgs/development/python-modules/wcwidth/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "wcwidth"; - version = "0.7.0"; + version = "0.8.2"; pyproject = true; src = fetchFromGitHub { owner = "jquast"; repo = "wcwidth"; tag = version; - hash = "sha256-XIOgDCoAP/shepasR41NbNW3cFlbemmdC0Xbd+9OOts="; + hash = "sha256-PMYGLqxbTYIE+2vn0wmaBB/y8lRs9AXX+rOPpYYXHSw="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/weasel/default.nix b/pkgs/development/python-modules/weasel/default.nix index 196a3982cf64..af8cc175d8ee 100644 --- a/pkgs/development/python-modules/weasel/default.nix +++ b/pkgs/development/python-modules/weasel/default.nix @@ -7,6 +7,7 @@ setuptools, # dependencies + click, cloudpathlib, confection, httpx, @@ -38,6 +39,7 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; dependencies = [ + click cloudpathlib confection httpx diff --git a/pkgs/development/python-modules/webob/default.nix b/pkgs/development/python-modules/webob/default.nix index 9253813496b5..5a28aec1cd17 100644 --- a/pkgs/development/python-modules/webob/default.nix +++ b/pkgs/development/python-modules/webob/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "webob"; - version = "1.8.9"; + version = "1.8.10"; pyproject = true; src = fetchFromGitHub { owner = "Pylons"; repo = "webob"; tag = version; - hash = "sha256-axJQwlybuqBS6RgI2z9pbw58vHF9aC9AxCg13CIKCLs="; + hash = "sha256-r3fURb+Je/XevpeMGb/XEF2xjj1q172P4pTAbGkeloY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix index 237f4d9fb994..f3b488e7302c 100644 --- a/pkgs/development/python-modules/websockets/default.nix +++ b/pkgs/development/python-modules/websockets/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, unittestCheckHook, + pyprojectVersionPatchHook, pythonAtLeast, setuptools, werkzeug, @@ -11,16 +12,18 @@ buildPythonPackage rec { pname = "websockets"; - version = "16.0"; + version = "16.1"; pyproject = true; src = fetchFromGitHub { owner = "aaugustin"; repo = "websockets"; tag = version; - hash = "sha256-75FkU45qbOb+xbJO4VKqfWBTep+Toh6OWch2WXnU4bg="; + hash = "sha256-YbiDoL4edb6QGDOBRBJliRhEOs5UvZUgWO9f+ooyBcc="; }; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + build-system = [ setuptools ]; disabledTests = [ diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index c180763a8ecc..91f68d18880d 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -27,12 +27,12 @@ buildPythonPackage rec { pname = "werkzeug"; - version = "3.1.6"; + version = "3.1.8"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-IQxr7eWkIKkTlWtHkaf01oQ6Q7b87k36CKZekwB9DSU="; + hash = "sha256-m61hpCaNrBEvHFzUYwpW7eYBtu1CAwBneoaQg9cKTEQ="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/word2number/default.nix b/pkgs/development/python-modules/word2number/default.nix index 43a70204b35c..8c6473b5180c 100644 --- a/pkgs/development/python-modules/word2number/default.nix +++ b/pkgs/development/python-modules/word2number/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-dgHPEfieNDZnP6+YvywvN3ZzmeICav0WMYKkWDSJ/LE="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version = '1.0'" "version = '${version}'" + ''; + build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/wrapt/default.nix b/pkgs/development/python-modules/wrapt/default.nix index 4f947d1c42d6..18a6607fbf5a 100644 --- a/pkgs/development/python-modules/wrapt/default.nix +++ b/pkgs/development/python-modules/wrapt/default.nix @@ -10,18 +10,16 @@ buildPythonPackage rec { pname = "wrapt"; - version = "1.17.2"; + version = "2.2.2"; pyproject = true; src = fetchFromGitHub { owner = "GrahamDumpleton"; repo = "wrapt"; tag = version; - hash = "sha256-QduT5bncXi4LeI034h5Pqtwybru0QcQIYI7cMchLy7c="; + hash = "sha256-m3vjzV2aM4P+PoH3w9f8swLnp4DBLz5vfCz4An/XoMQ="; }; - patches = [ ./pytest9-compat.patch ]; - build-system = [ setuptools ]; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/wrapt/pytest9-compat.patch b/pkgs/development/python-modules/wrapt/pytest9-compat.patch deleted file mode 100644 index 8ce0b26f5b84..000000000000 --- a/pkgs/development/python-modules/wrapt/pytest9-compat.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/tests/conftest.py b/tests/conftest.py -index 318d226..0a79281 100644 ---- a/tests/conftest.py -+++ b/tests/conftest.py -@@ -18,28 +18,29 @@ def construct_dummy(path, parent): - else: - return DummyCollector(path, parent=parent) - --def pytest_pycollect_makemodule(path, parent): -- if '_py33' in path.basename and version < (3, 3): -- return construct_dummy(path, parent) -- if '_py34' in path.basename and version < (3, 4): -- return construct_dummy(path, parent) -- if '_py35' in path.basename and version < (3, 5): -- return construct_dummy(path, parent) -- if '_py36' in path.basename and version < (3, 6): -- return construct_dummy(path, parent) -- if '_py37' in path.basename and version < (3, 7): -- return construct_dummy(path, parent) -- if '_py38' in path.basename and version < (3, 8): -- return construct_dummy(path, parent) -- if '_py39' in path.basename and version < (3, 9): -- return construct_dummy(path, parent) -- if '_py310' in path.basename and version < (3, 10): -- return construct_dummy(path, parent) -- if '_py311' in path.basename and version < (3, 11): -- return construct_dummy(path, parent) -- if '_py312' in path.basename and version < (3, 12): -- return construct_dummy(path, parent) -- if '_py3' in path.basename and version < (3, 0): -- return construct_dummy(path, parent) -- if '_py2' in path.basename and version >= (3, 0): -- return construct_dummy(path, parent) -+def pytest_pycollect_makemodule(module_path, parent): -+ name = module_path.name -+ if '_py33' in name and version < (3, 3): -+ return construct_dummy(module_path, parent) -+ if '_py34' in name and version < (3, 4): -+ return construct_dummy(module_path, parent) -+ if '_py35' in name and version < (3, 5): -+ return construct_dummy(module_path, parent) -+ if '_py36' in name and version < (3, 6): -+ return construct_dummy(module_path, parent) -+ if '_py37' in name and version < (3, 7): -+ return construct_dummy(module_path, parent) -+ if '_py38' in name and version < (3, 8): -+ return construct_dummy(module_path, parent) -+ if '_py39' in name and version < (3, 9): -+ return construct_dummy(module_path, parent) -+ if '_py310' in name and version < (3, 10): -+ return construct_dummy(module_path, parent) -+ if '_py311' in name and version < (3, 11): -+ return construct_dummy(module_path, parent) -+ if '_py312' in name and version < (3, 12): -+ return construct_dummy(module_path, parent) -+ if '_py3' in name and version < (3, 0): -+ return construct_dummy(module_path, parent) -+ if '_py2' in name and version >= (3, 0): -+ return construct_dummy(module_path, parent) diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix index d9f1f5464274..0c20185fabe1 100644 --- a/pkgs/development/python-modules/xarray/default.nix +++ b/pkgs/development/python-modules/xarray/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, # build-system setuptools, @@ -40,7 +39,7 @@ buildPythonPackage (finalAttrs: { pname = "xarray"; - version = "2026.04.0"; + version = "2026.07.0"; pyproject = true; # Needed mainly for pytestFlags with spaces __structuredAttrs = true; @@ -49,25 +48,9 @@ buildPythonPackage (finalAttrs: { owner = "pydata"; repo = "xarray"; tag = "v${finalAttrs.version}"; - hash = "sha256-BsgL+Xo9fTMLLdz5AfScnKGuBa76cE85LuUzB4ZNLiY="; + hash = "sha256-dj6V/HkHRm1kjHlAHUjN7pGCa1ioW11o1fdKUyxI8e0="; }; - patches = [ - # Performance fix - (fetchpatch { - url = "https://github.com/pydata/xarray/commit/b8bfeca3275045ca82adc3401c38444b1ed12c4a.patch"; - hash = "sha256-KzN45MqOBPMNEmoG+rb3iwrk/7XFLlTNktQf5uYBWNo="; - }) - # Fix tests with numpy >= 2.5.0 - (fetchpatch { - url = "https://github.com/pydata/xarray/commit/c3a398e856f7fcff1c18bc72bfd1ab9c64d5a2e7.patch"; - excludes = [ - "doc/whats-new.rst" - ]; - hash = "sha256-TakZ9RrJHeRksT3oBe7AKyfrjZeZ4oSmbE8axh7EmGg="; - }) - ]; - postPatch = '' # don't depend on pytest-mypy-plugins sed -i "/--mypy-/d" pyproject.toml diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix index 3bbd4f7bb2c2..d9064c5d7ffc 100644 --- a/pkgs/development/python-modules/xxhash/default.nix +++ b/pkgs/development/python-modules/xxhash/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "xxhash"; - version = "3.6.0"; + version = "3.8.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-8BYqeLE6DXYXsoRbkMdjM50fHYK7BKSwf0q1NcxeBdY="; + hash = "sha256-sN5L86pmNjVS1SxqiQA8R5kR8SCYzUilPUSg96JffEY="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/yamlloader/default.nix b/pkgs/development/python-modules/yamlloader/default.nix index 82ed1b8cee62..99c300aa96bc 100644 --- a/pkgs/development/python-modules/yamlloader/default.nix +++ b/pkgs/development/python-modules/yamlloader/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatch-vcs, hatchling, + pyprojectVersionPatchHook, pytestCheckHook, pyyaml, hypothesis, @@ -26,6 +27,10 @@ buildPythonPackage rec { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ pyyaml ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/youless-api/default.nix b/pkgs/development/python-modules/youless-api/default.nix index 339dfe9caeae..092531add06a 100644 --- a/pkgs/development/python-modules/youless-api/default.nix +++ b/pkgs/development/python-modules/youless-api/default.nix @@ -19,6 +19,8 @@ buildPythonPackage rec { hash = "sha256-BAIwShbIZaX5QOkxajwv6vtL8/EouHA3ELCLAm9ylKA="; }; + env.PUBLISH_VERSION = version; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/youtubeaio/default.nix b/pkgs/development/python-modules/youtubeaio/default.nix index ddb4a6edb589..82c3c629455e 100644 --- a/pkgs/development/python-modules/youtubeaio/default.nix +++ b/pkgs/development/python-modules/youtubeaio/default.nix @@ -7,6 +7,7 @@ pydantic, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp pydantic diff --git a/pkgs/development/python-modules/zinvolt/default.nix b/pkgs/development/python-modules/zinvolt/default.nix index 81bec8ce2c43..975cd9506391 100644 --- a/pkgs/development/python-modules/zinvolt/default.nix +++ b/pkgs/development/python-modules/zinvolt/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, hatchling, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-e4kbAEUxJzc2qOnXhtNMFUeDcsUc/G1Wo0LHwTQcgXs="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/zipp/default.nix b/pkgs/development/python-modules/zipp/default.nix index bd2c8c65ad88..b6f3f2cfcc10 100644 --- a/pkgs/development/python-modules/zipp/default.nix +++ b/pkgs/development/python-modules/zipp/default.nix @@ -11,14 +11,14 @@ let zipp = buildPythonPackage rec { pname = "zipp"; - version = "4.0.0"; + version = "4.1.0"; pyproject = true; src = fetchFromGitHub { owner = "jaraco"; repo = "zipp"; tag = "v${version}"; - hash = "sha256-JkU35S+BpDvWca1+BP61z3W5oyxf/RI21WXZ9fZ65SQ="; + hash = "sha256-qFsCud+fKDULbIF3LLGh6su/Sm1YjcvKe0+R9GH/Ies="; }; postPatch = '' diff --git a/pkgs/development/rocm-modules/llvm/default.nix b/pkgs/development/rocm-modules/llvm/default.nix index c929961ddf16..99f358656679 100644 --- a/pkgs/development/rocm-modules/llvm/default.nix +++ b/pkgs/development/rocm-modules/llvm/default.nix @@ -293,7 +293,29 @@ let in overrideLlvmPackagesRocm (s: { libllvm = (s.prev.libllvm.override { }).overrideAttrs (old: { - patches = old.patches ++ [ + patches = [ + # Backport select ptr combine fixes so our LLVM 22 sdag fix backport can apply + (fetchpatch { + name = "amdgpu-add-baseline-load-select-ptr-combine-test.patch"; + url = "https://github.com/llvm/llvm-project/commit/ac27b2455ad7c89cc1f928de7beb05933a035031.patch"; + relative = "llvm"; + hash = "sha256-1mine1h/oqnn2tKDYW4FntyZXu/foyifrKGkqKOHrPg="; + }) + (fetchpatch { + name = "amdgpu-fix-treating-divergent-loads-as-uniform.patch"; + url = "https://github.com/llvm/llvm-project/commit/d3c3c6bab5df051d9db12ea96add2211df9d81be.patch"; + relative = "llvm"; + hash = "sha256-9VB77d4d+nwX8s+JBq1PXmbmqT7oD6lRC0uDIrTgjjo="; + }) + (fetchpatch { + name = "dag-allow-select-ptr-combine-for-non-0-address-spaces.patch"; + url = "https://github.com/llvm/llvm-project/commit/0e1cb2de90aafa1d5dbd46fc9e6c4e743700fa8b.patch"; + relative = "llvm"; + hash = "sha256-6Pj3pRESaho60YhXWwaQxEKteSuziZseeT4FbZqZANk="; + }) + ] + ++ old.patches + ++ [ ./perf-increase-namestring-size.patch # v64i8 shuffle lowering inf loop on VBMI targets, hangs whisper-cpp etc # https://github.com/NixOS/nixpkgs/issues/497745 diff --git a/pkgs/development/rocm-modules/release-attrPaths.json b/pkgs/development/rocm-modules/release-attrPaths.json index e57aa6df25b8..f86ebf24603d 100644 --- a/pkgs/development/rocm-modules/release-attrPaths.json +++ b/pkgs/development/rocm-modules/release-attrPaths.json @@ -519,7 +519,7 @@ "python3Packages.stable-baselines3", "python3Packages.stanza", "python3Packages.staticvectors", - "python3Packages.strawberry-django", + "python3Packages.strawberry-graphql-django", "python3Packages.strawberry-graphql", "python3Packages.stytra", "python3Packages.syne-tune", diff --git a/pkgs/development/rocm-modules/tensile/default.nix b/pkgs/development/rocm-modules/tensile/default.nix index edf6b496d84e..617ab1b4fe3a 100644 --- a/pkgs/development/rocm-modules/tensile/default.nix +++ b/pkgs/development/rocm-modules/tensile/default.nix @@ -77,7 +77,10 @@ buildPythonPackage (finalAttrs: { clr ]; - env.ROCM_PATH = "${clr}"; + env = { + dontCheckPythonMetadata = true; + ROCM_PATH = "${clr}"; + }; pythonImportsCheck = [ "Tensile" ]; diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index f3aa66cae7c1..30072817826b 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -56,11 +56,15 @@ let "gemdir" ] // { + __structuredAttrs = true; + inherit preferLocalBuild allowSubstitutes; # pass the defaults inherit (basicEnv) version pname; nativeBuildInputs = nativeBuildInputs ++ lib.optionals (scripts != [ ]) [ makeWrapper ]; + strictDeps = true; + meta = { mainProgram = pname; inherit (ruby.meta) platforms; diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix index 71a79c8132e3..da9e088cefcf 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix @@ -18,6 +18,8 @@ buildPythonPackage { substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" "" ''; + env.BUILDBOT_VERSION = buildbot.version; + build-system = [ setuptools ]; # No tests diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix index ad464fc47ebb..b8da7fd6ba3e 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix @@ -48,6 +48,9 @@ buildPythonPackage { psutil ]; + # the date-based version of buildbot-worker doesn't align with buildbot's version + dontCheckPythonMetadata = true; + passthru.tests = { smoke-test = nixosTests.buildbot; }; diff --git a/pkgs/development/tools/godot/common.nix b/pkgs/development/tools/godot/common.nix index d60418d343dc..a0cba15c4584 100644 --- a/pkgs/development/tools/godot/common.nix +++ b/pkgs/development/tools/godot/common.nix @@ -38,7 +38,6 @@ libxkbcommon, libxrandr, libxrender, - llvmPackages, makeWrapper, mbedtls, miniupnpc, @@ -399,8 +398,6 @@ let "-I${lib.getDev harfbuzz-icu}/include/harfbuzz" "-I${lib.getDev recastnavigation}/include/recastnavigation" ]; - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - NIX_CFLAGS_LINK = "--ld-path=${lib.getExe' llvmPackages.lld "ld64.lld"}"; }; preConfigure = lib.optionalString (editor && withMono) '' @@ -646,8 +643,6 @@ let ++ lib.optionals stdenv.hostPlatform.isDarwin ( [ darwin.sigtool - # TODO: Remove when NixOS/nixpkgs#536365 reaches master. - llvmPackages.lld ] ++ lib.optionals (!editor) [ strip-nondeterminism diff --git a/pkgs/development/web/nodejs/gyp-patches-pre-v22-import-sys.patch b/pkgs/development/web/nodejs/gyp-patches-pre-v22-import-sys.patch deleted file mode 100644 index fa499c6491c7..000000000000 --- a/pkgs/development/web/nodejs/gyp-patches-pre-v22-import-sys.patch +++ /dev/null @@ -1,24 +0,0 @@ -Add missing import statement for gyp-patches.nix. - ---- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py -+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py -@@ -25,6 +25,7 @@ - import os - import re - import subprocess -+import sys - import gyp - import gyp.common - import gyp.xcode_emulation - ---- a/tools/gyp/pylib/gyp/generator/make.py -+++ b/tools/gyp/pylib/gyp/generator/make.py -@@ -25,6 +25,7 @@ - import os - import re - import subprocess -+import sys - import gyp - import gyp.common - import gyp.xcode_emulation - diff --git a/pkgs/development/web/nodejs/gyp-patches.nix b/pkgs/development/web/nodejs/gyp-patches.nix deleted file mode 100644 index f41d1e1d5384..000000000000 --- a/pkgs/development/web/nodejs/gyp-patches.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - fetchpatch2, - patch_npm ? true, - patch_tools ? true, -}: -let - url = "https://github.com/nodejs/gyp-next/commit/8224deef984add7e7afe846cfb82c9d3fa6da1fb.patch?full_index=1"; -in -lib.optionals patch_tools [ - # Fixes builds with Nix sandbox on Darwin for gyp. - (fetchpatch2 { - inherit url; - hash = "sha256-kvCMpedjrY64BlaC1R0NVjk/vIVivYAGVgWwMEGeP6k="; - stripLen = 1; - extraPrefix = "tools/gyp/"; - }) -] -++ lib.optionals patch_npm [ - (fetchpatch2 { - inherit url; - hash = "sha256-cXTwmCRHrNhuY1+3cD/EvU0CJ+1Nk4TRh6c3twvfaW8="; - stripLen = 1; - extraPrefix = "deps/npm/node_modules/node-gyp/gyp/"; - }) -] -++ [ - ./gyp-patches-set-fallback-value-for-CLT-darwin.patch -] diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 55d8fce231b7..5192d6d09dee 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -144,7 +144,7 @@ let ); useSharedNBytes = lib.versionAtLeast version (if majorVersion == "24" then "24.14.0" else "25.5"); useSharedLief = lib.versionAtLeast version "25.6"; - useSharedMerve = lib.versionAtLeast version (if majorVersion == 24 then "24.14.0" else "25.6.1"); + useSharedMerve = lib.versionAtLeast version (if majorVersion == "24" then "24.14.0" else "25.6.1"); useSharedSQLite = lib.versionAtLeast version "22.5"; useSharedTemporal = majorVersion == "26"; useSharedZstd = lib.versionAtLeast version "22.15"; @@ -190,7 +190,8 @@ let inherit nbytes; }) // (lib.optionalAttrs useSharedMerve { - inherit merve; + # Merve cannot be built with simdutf_6, and upstream also disables simdutf support on the 24.x branch + merve = if majorVersion == "24" then (merve.override { simdutf = null; }) else merve; }) // (lib.optionalAttrs useSharedZstd { inherit zstd; @@ -330,6 +331,7 @@ let ] ++ lib.optional useSharedTemporal "--v8-enable-temporal-support" ++ lib.optionals (lib.versionOlder version "19") [ "--without-dtrace" ] + ++ lib.optionals (lib.versionAtLeast version "22") [ "--use-prefix-to-find-headers" ] ++ lib.concatMap (name: [ "--shared-${name}" "--shared-${name}-libpath=${lib.getLib sharedLibDeps.${name}}/lib" @@ -347,9 +349,7 @@ let dontDisableStatic = true; - configureScript = writeScript "nodejs-configure" '' - exec ${python.executable} configure.py "$@" - ''; + configureScript = "${python.interpreter} configure.py"; # In order to support unsupported cross configurations, we copy some intermediate executables # from a native build and replace all the build-system tools with a script which simply touches @@ -518,12 +518,6 @@ let "test-tick-processor-arguments" "test-set-raw-mode-reset-signal" ] - # Apple SDK update broke something related to those tests, so skipping them for now - ++ lib.optionals (majorVersion == "24" && stdenv.hostPlatform.isDarwin) [ - "test-worker-track-unmanaged-fds" - "test-esm-import-meta-main-eval" - "test-worker-debug" - ] # These network/fetch/inspector tests fail on riscv64 ++ lib.optionals (majorVersion == "24" && stdenv.hostPlatform.isRiscV64) [ "test-fetch" @@ -684,6 +678,9 @@ let done ''; + # reduces build time from ~90 to ~15 minutes on hydra + requiredSystemFeatures = [ "big-parallel" ]; + passthru.tests = { version = testers.testVersion { package = self; diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix deleted file mode 100644 index dbde28aa29ca..000000000000 --- a/pkgs/development/web/nodejs/v20.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - lib, - stdenv, - callPackage, - fetchpatch2, - openssl, - python3, -}: - -let - buildNodejs = callPackage ./nodejs.nix { - inherit openssl; - python = python3; - }; - - gypPatches = callPackage ./gyp-patches.nix { } ++ [ - # Fixes builds with Nix sandbox on Darwin for gyp. - # See https://github.com/NixOS/nixpkgs/issues/261820 - # and https://github.com/nodejs/gyp-next/pull/216 - (fetchpatch2 { - url = "https://github.com/nodejs/gyp-next/commit/706d04aba5bd18f311dc56f84720e99f64c73466.patch?full_index=1"; - hash = "sha256-iV9qvj0meZkgRzFNur2v1jtLZahbqvSJ237NoM8pPZc="; - stripLen = 1; - extraPrefix = "tools/gyp/"; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/gyp-next/commit/706d04aba5bd18f311dc56f84720e99f64c73466.patch?full_index=1"; - hash = "sha256-1iyeeAprmWpmLafvOOXW45iZ4jWFSloWJxQ0reAKBOo="; - stripLen = 1; - extraPrefix = "deps/npm/node_modules/node-gyp/gyp/"; - }) - - ./gyp-patches-pre-v22-import-sys.patch - ]; -in -buildNodejs { - version = "20.20.2"; - sha256 = "7aeeacdb858299e09a3e0510d4bb8b266923894a9e3ac0058ba89d4ecf4a4cca"; - patches = [ - ./configure-emulator.patch - ./configure-armv6-vfpv2.patch - ./node-npm-build-npm-package-logic.patch - ./use-correct-env-in-tests.patch - ./use-nix-codesign.patch - - # TODO: remove when included in a release - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/8caa1dcee63b2c6fd7a9edf9b9a6222b38a2cf62.patch?full_index=1"; - hash = "sha256-DtN0bpYfo5twHz2GrLLgq4Bu2gFYTkNPMRKhrgeYRyA="; - includes = [ "test/parallel/test-setproctitle.js" ]; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/499a5c345165f0d4a94b98d08f1ace7268781564.patch?full_index=1"; - hash = "sha256-wF4+CytC1OB5egJGOfLm1USsYY12f9kADymVrxotezE="; - }) - ] - ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ - # Fix builds with shared llhttp - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/ff3a028f8bf88da70dc79e1d7b7947a8d5a8548a.patch?full_index=1"; - hash = "sha256-LJcO3RXVPnpbeuD87fiJ260m3BQXNk3+vvZkBMFUz5w="; - }) - # update tests for nghttp2 1.65 - ./deprecate-http2-priority-signaling.patch - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/a63126409ad4334dd5d838c39806f38c020748b9.diff?full_index=1"; - hash = "sha256-lfq8PMNvrfJjlp0oE3rJkIsihln/Gcs1T/qgI3wW2kQ="; - includes = [ "test/*" ]; - }) - # Patch for nghttp2 1.69 support - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/ecbc22dc3709290dcaadf634a28d8307a75952ee.diff?full_index=1"; - hash = "sha256-LwniqgKlG1IiqSzdP7UgBw3/9cn1jyz/jtx45yb6RWM="; - includes = [ - "test/parallel/test-http2-misbehaving-flow-control-paused.js" - "test/parallel/test-http2-misbehaving-flow-control.js" - ]; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/4a32c00fb8dbe55c3bcf9ef43343968c9fe449e6.diff?full_index=1"; - hash = "sha256-pex8ruwa4b/vWvfGA+nyN3JJP8NOturmwAQe4Rkd6nU="; - excludes = [ "tools/nix/*" ]; - }) - ] - ++ gypPatches; -} diff --git a/pkgs/development/web/nodejs/v24.nix b/pkgs/development/web/nodejs/v24.nix index 359e20891269..3388b484ebe8 100644 --- a/pkgs/development/web/nodejs/v24.nix +++ b/pkgs/development/web/nodejs/v24.nix @@ -9,10 +9,16 @@ }: let - buildNodejs = callPackage ./nodejs.nix { - inherit openssl; - python = python3; - }; + buildNodejs = callPackage ./nodejs.nix ( + { + inherit openssl; + python = python3; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # libcxx21 makes FD tracking unreliable on Darwin. Pinning to libcxx20: + stdenv = buildPackages.llvmPackages_20.libcxxStdenv; + } + ); gypPatches = if stdenv.buildPlatform.isDarwin then diff --git a/pkgs/os-specific/darwin/by-name/li/libffi/package.nix b/pkgs/os-specific/darwin/by-name/li/libffi/package.nix index 0411e61a1f9e..1cfe8955c660 100644 --- a/pkgs/os-specific/darwin/by-name/li/libffi/package.nix +++ b/pkgs/os-specific/darwin/by-name/li/libffi/package.nix @@ -3,6 +3,9 @@ autoreconfHook, dejagnu, mkAppleDerivation, + runCommand, + dyld, + python3, stdenv, testers, texinfo, @@ -12,6 +15,10 @@ doCheck ? !(stdenv.hostPlatform.isStatic), }: +let + python3-with-macholib = python3.withPackages (pkgs: [ pkgs.macholib ]); +in + mkAppleDerivation (finalAttrs: { releaseName = "libffi"; @@ -61,7 +68,7 @@ mkAppleDerivation (finalAttrs: { ''; postBuild = '' - $CC -Os -Wl,-allowable_client,! -Wl,-not_for_dyld_shared_cache -Wl,-no_compact_unwind \ + $CC -Os -Wl,-allowable_client,! -Wl,-not_for_dyld_shared_cache -Wl,-no_compact_unwind -Wl,-no_fixup_chains \ src/aarch64/trampoline.S -dynamiclib -o libffi-trampolines.dylib \ -Iinclude -Ibuild -Ibuild/include \ -install_name "$out/lib/libffi-trampoline.dylib" -Wl,-compatibility_version,1 -Wl,-current_version,1 @@ -94,6 +101,32 @@ mkAppleDerivation (finalAttrs: { pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + # Done as a passthru test to avoid pulling dyld into the Darwin bootstrap just for `dyld_info`. + # `dyld_info` is needed because `check-trampolines-dylib.py` does not check chained fixups. + check-trampolines-dylib = + runCommand "check-trampolines-dylib" + { + inherit (finalAttrs) src version; + + nativeBuildInputs = [ + dyld + python3-with-macholib + ]; + buildInputs = [ finalAttrs.finalPackage ]; + + meta = { + description = "Test whether the libffi trampoline was built correctly and works on Darwin."; + inherit (finalAttrs.meta) license platforms; + }; + } + '' + runPhase unpackPhase + trampolineDylib=${lib.escapeShellArg (lib.getLib finalAttrs.finalPackage)}/lib/libffi-trampolines.dylib + patchShebangs check-trampolines-dylib.py + ./check-trampolines-dylib.py "$trampolineDylib" + dyld_info -fixups "$trampolineDylib" | grep -v "chained fixups, seg_count exceeds number of segments" + touch "$out" + ''; }; }; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix index 31ec4ebc5836..5418d73e352a 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix @@ -4,8 +4,8 @@ hostPlatform, fetchurl, bash, + gcc-buildbuild, gcc, - musl, binutils, gnumake, gnused, @@ -25,6 +25,10 @@ let url = "mirror://gnu/bash/bash-${version}.tar.gz"; sha256 = "sha256-DVzYaWX4aaJs9k9Lcb57lvkKO6iz104n6OnZ1VUPMbo="; }; + + binutilsTargetPrefix = lib.optionalString ( + hostPlatform.config != buildPlatform.config + ) "${hostPlatform.config}-"; in bash.runCommand "${pname}-${version}" { @@ -32,7 +36,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -56,6 +59,10 @@ bash.runCommand "${pname}-${version}" tar xf ${src} cd bash-${version} + export AR="${binutilsTargetPrefix}ar" + export STRIP="${binutilsTargetPrefix}strip" + export STRIPPROG="$STRIP" + # Configure bash ./configure \ --prefix=$out \ @@ -65,7 +72,7 @@ bash.runCommand "${pname}-${version}" --disable-dependency-tracking \ --disable-nls \ --enable-static-link \ - CC=musl-gcc + CC_FOR_BUILD=${gcc-buildbuild}/bin/gcc # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix index 6461f6523c0b..e29e884a2dfd 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix @@ -4,8 +4,8 @@ hostPlatform, fetchurl, bash, + gcc-buildbuild, gcc, - musl, binutils, gnumake, gnupatch, @@ -33,8 +33,6 @@ let ]; configureFlags = [ - "CC=musl-gcc" - "LDFLAGS=--static" "--prefix=${placeholder "out"}" "--build=${buildPlatform.config}" "--host=${hostPlatform.config}" @@ -42,7 +40,6 @@ let "--disable-dependency-tracking" "--disable-nls" - "--with-sysroot=/" "--enable-deterministic-archives" # depends on bison "--disable-gprofng" @@ -70,7 +67,7 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl + gcc-buildbuild binutils gnumake gnupatch diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix index 80b488a800dd..fc588600d5d6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,8 +68,7 @@ bash.runCommand "${pname}-${version}" --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --disable-dependency-tracking \ - CC=musl-gcc + --disable-dependency-tracking # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix index 540f86112aa4..5a1b0187857f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix @@ -1,9 +1,10 @@ { lib, fetchurl, + buildPlatform, + hostPlatform, bash, gcc, - musl, binutils, findutils, gnumake, @@ -18,6 +19,10 @@ let url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"; sha256 = "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb"; }; + + binutilsTargetPrefix = lib.optionalString ( + hostPlatform.config != buildPlatform.config + ) "${hostPlatform.config}-"; in bash.runCommand "${pname}-${version}" { @@ -25,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils findutils gnumake @@ -72,9 +76,10 @@ bash.runCommand "${pname}-${version}" # Build make \ -j $NIX_BUILD_CORES \ - CC=musl-gcc \ - CFLAGS=-static \ - bzip2 + bzip2 \ + CC=${hostPlatform.config}-gcc \ + AR=${binutilsTargetPrefix}ar \ + RANLIB=${binutilsTargetPrefix}ranlib # Install mkdir -p $out/bin @@ -84,5 +89,5 @@ bash.runCommand "${pname}-${version}" # Strip # Ignore failures, because strip may fail on non-elf files. - strip --strip-debug $out/bin/bzip2 || true + ${binutilsTargetPrefix}strip --strip-debug $out/bin/bzip2 || true '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix index 2291a5dedba3..6c92f12bf58b 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -36,8 +35,7 @@ let # libstdbuf.so fails in static builds "--enable-no-install-program=stdbuf" "--enable-single-binary=symlinks" - "CC=musl-gcc" - "CFLAGS=\"-static -I${linux-headers}/include\"" + "CFLAGS=\"-I${linux-headers}/include\"" ]; in bash.runCommand "${pname}-${version}" @@ -46,7 +44,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix index 5418c6507b4b..ac31f89dfa66 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -48,6 +48,7 @@ lib.makeScope }; bash-static = callPackage ./bash/static.nix { + gcc-buildbuild = gcc-latest; gcc = gcc-latest; gnumake = gnumake-musl; gnutar = gnutar-latest; @@ -60,6 +61,7 @@ lib.makeScope }; binutils-static = callPackage ./binutils/static.nix { + gcc-buildbuild = gcc-latest; gcc = gcc-latest; gnumake = gnumake-musl; gnutar = gnutar-latest; @@ -154,11 +156,19 @@ lib.makeScope gnutar = gnutar-latest; }; - gcc-latest = callPackage ./gcc/latest.nix { + gcc-latest-unwrapped = callPackage ./gcc/latest.nix { gcc = gcc10; gnumake = gnumake-musl; gnutar = gnutar-latest; }; + gcc-latest = callPackage ./gcc/wrapper.nix { + bash-build = bash; + gcc-unwrapped = gcc-latest-unwrapped; + targetPlatform = hostPlatform; + libc = musl; + libgcc = gcc-latest-unwrapped; + libstdcxx = gcc-latest-unwrapped; + }; gnugrep = callPackage ./gnugrep { bash = bash_2_05; @@ -294,6 +304,7 @@ lib.makeScope }; musl-static = callPackage ./musl/static.nix { + libgcc = gcc-latest-unwrapped; gcc = gcc-latest; gnumake = gnumake-musl; }; @@ -426,7 +437,7 @@ lib.makeScope echo ${gcc46.tests.get-version} echo ${gcc46-cxx.tests.hello-world} echo ${gcc10.tests.hello-world} - echo ${gcc-latest.tests.hello-world} + echo ${gcc-latest-unwrapped.tests.hello-world} '' + (lib.strings.optionalString (hostPlatform.libc == "glibc") '' echo ${gcc-glibc.tests.hello-world} @@ -455,7 +466,7 @@ lib.makeScope }; glibc = callPackage ./glibc { - gcc = gcc-latest; + gcc = gcc-latest-unwrapped; gnumake = gnumake-musl; gnutar = gnutar-latest; gnugrep = gnugrep-static; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix index f46805411c61..3ab214a9b179 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -64,15 +62,15 @@ bash.runCommand "${pname}-${version}" cd diffutils-${version} # Configure + # Manually set strcasecmp_works, because we might be cross-compiling bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static \ - ac_cv_path_PR_PROGRAM=pr + ac_cv_path_PR_PROGRAM=pr \ + gl_cv_func_strcasecmp_works=y # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix index c6b1c6e2ba0c..b183888ce033 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,9 +68,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix index c6175308d59d..d35bb47674d6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -66,9 +64,7 @@ bash.runCommand "${pname}-${version}" --disable-extensions \ --disable-mpfr \ --disable-nls \ - --disable-pma \ - CC=musl-gcc \ - CFLAGS=-static + --disable-pma # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/10.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/10.nix index 25b06eb13f00..22db627fdb80 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/10.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/10.nix @@ -43,10 +43,10 @@ let hash = "sha256-tnugOD736KhWNzTi6InvXsPDuJigHQD6CmhprYHGzgE="; }; - mpcVersion = "1.3.1"; + mpcVersion = "1.4.1"; mpc = fetchurl { - url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz"; - hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg="; + url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.xz"; + hash = "sha256-kSBM0y8WS9O3yZLUpqjOZRlRGq2rMPeLaYLQv41z6TE="; }; in bash.runCommand "${pname}-${version}" diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/glibc.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/glibc.nix index 3188453cea74..84429548ef45 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/glibc.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/glibc.nix @@ -22,7 +22,7 @@ }: let pname = "gcc"; - version = "15.2.0"; + version = "15.3.0"; linkerName = { i686-linux = "ld-linux.so.2"; @@ -32,7 +32,7 @@ let src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz"; - hash = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; + hash = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; }; gmpVersion = "6.3.0"; @@ -47,10 +47,10 @@ let hash = "sha256-tnugOD736KhWNzTi6InvXsPDuJigHQD6CmhprYHGzgE="; }; - mpcVersion = "1.3.1"; + mpcVersion = "1.4.1"; mpc = fetchurl { - url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz"; - hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg="; + url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.xz"; + hash = "sha256-kSBM0y8WS9O3yZLUpqjOZRlRGq2rMPeLaYLQv41z6TE="; }; in bash.runCommand "${pname}-${version}" diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix index d003f164abad..0489f9ceb125 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix @@ -21,11 +21,11 @@ }: let pname = "gcc"; - version = "15.2.0"; + version = "15.3.0"; src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz"; - hash = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; + hash = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; }; gmpVersion = "6.3.0"; @@ -40,10 +40,10 @@ let hash = "sha256-tnugOD736KhWNzTi6InvXsPDuJigHQD6CmhprYHGzgE="; }; - mpcVersion = "1.3.1"; + mpcVersion = "1.4.1"; mpc = fetchurl { - url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz"; - hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg="; + url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.xz"; + hash = "sha256-kSBM0y8WS9O3yZLUpqjOZRlRGq2rMPeLaYLQv41z6TE="; }; in bash.runCommand "${pname}-${version}" @@ -126,10 +126,12 @@ bash.runCommand "${pname}-${version}" --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --with-native-system-header-dir=/include \ - --with-sysroot=${musl} \ + --with-native-system-header-dir=${musl}/include \ + --with-sysroot=/ \ --enable-languages=c,c++ \ --enable-checking=release \ + --enable-static \ + --disable-shared \ --disable-bootstrap \ --disable-dependency-tracking \ --disable-libsanitizer \ @@ -144,8 +146,7 @@ bash.runCommand "${pname}-${version}" --disable-multilib \ --disable-nls \ --disable-plugin \ - --without-isl \ - --disable-shared + --without-isl # Build make -j $NIX_BUILD_CORES @@ -155,4 +156,14 @@ bash.runCommand "${pname}-${version}" # libstdc++ gdb pretty-printers + man pages are unused downstream. rm -rf $out/share/gcc-*/python $out/share/man $out/share/info + + if [ -d "$out/lib64" ]; then + shopt -s dotglob + for lib in $out/lib64/*; do + mv --no-clobber "$lib" "$out/lib/" + done + shopt -u dotglob + rm -rf "$out/lib64" + ln -s lib "$out/lib64" + fi '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.nix new file mode 100644 index 000000000000..69c0d0f93add --- /dev/null +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.nix @@ -0,0 +1,81 @@ +{ + fetchurl, + lib, + gnutar, + xz, + bash-build, + gnused, + targetPlatform, + libc, + libgcc, + libstdcxx, + gcc-unwrapped, + binutils, + bash, +}: +let + pname = "gcc-wrapper"; + extraFlags = "-static-libgcc "; + # only supports musl for now + dynamicLinkerGlob = "${libc}/lib/libc.so"; +in +bash-build.runCommand "${pname}-${gcc-unwrapped.version}" + { + inherit pname; + version = gcc-unwrapped.version; + meta = gcc-unwrapped.meta; + nativeBuildInputs = [ gnused ]; + passthru.unwrapped = gcc-unwrapped; + } + '' + if [[ -z '${dynamicLinkerGlob}' ]]; then + echo "Don't know the name of the dynamic linker for platform '${targetPlatform.config}', so guessing instead." + dynamicLinker="${libc}/lib/ld*.so.?" + else + dynamicLinker='${dynamicLinkerGlob}' + fi + dynamicLinker=($dynamicLinker) + case ''${#dynamicLinker[@]} in + 0) echo "No dynamic linker found for platform '${targetPlatform.config}'.";; + 1) echo "Using dynamic linker: '$dynamicLinker'";; + *) echo "Multiple dynamic linkers found for platform '${targetPlatform.config}'.";; + esac + + mkdir -p "$out/bin" + for orig in ${gcc-unwrapped}/bin/*gcc ${gcc-unwrapped}/bin/*gcc-${gcc-unwrapped.version}; do + sed \ + -e 's,@bash@,${lib.getExe bash},' \ + -e "s,@gcc@,$orig," \ + -e "s,@origname@,$(basename "$orig")," \ + -e "s,@origdir@,${gcc-unwrapped}/libexec/gcc," \ + -e "s,@dynlinker@,$dynamicLinker," \ + -e 's,@libgcc@,${libgcc}/lib/gcc/${targetPlatform.config}/${libgcc.version},' \ + -e 's,@libc@,${libc}/lib,' \ + -e 's,@gccinc@,${gcc-unwrapped}/lib/gcc/${targetPlatform.config}/${libgcc.version}/include,' \ + -e 's,@binutils@,${binutils}/bin,' \ + -e 's,@extraflags@,${extraFlags},' \ + '${./wrapper.sh}' > "$out/bin/$(basename "$orig")" + chmod +x "$out/bin/$(basename "$orig")" + done + for orig in ${gcc-unwrapped}/bin/*++; do + sed \ + -e 's,@bash@,${lib.getExe bash},' \ + -e "s,@gcc@,$orig," \ + -e "s,@origname@,$(basename "$orig")," \ + -e "s,@origdir@,${gcc-unwrapped}/libexec/gcc," \ + -e "s,@dynlinker@,$dynamicLinker," \ + -e 's,@libgcc@,${libgcc}/lib/gcc/${targetPlatform.config}/${libgcc.version},' \ + -e 's,@libc@,${libc}/lib,' \ + -e 's,@libstdcxx@,${libstdcxx}/lib,' \ + -e 's,@libstdcxxinc@,${libstdcxx}/include/c++/${libstdcxx.version},' \ + -e 's,@libstdcxxarchinc@,${libstdcxx}/include/c++/${libstdcxx.version}/${targetPlatform.config},' \ + -e 's,@gccinc@,${gcc-unwrapped}/lib/gcc/${targetPlatform.config}/${libgcc.version}/include,' \ + -e 's,@binutils@,${binutils}/bin,' \ + -e 's,@extraflags@,${extraFlags},' \ + '${./wrappercxx.sh}' > "$out/bin/$(basename "$orig")" + chmod +x "$out/bin/$(basename "$orig")" + done + for orig in ${gcc-unwrapped}/bin/*cpp ${gcc-unwrapped}/bin/*-ar ${gcc-unwrapped}/bin/*-nm ${gcc-unwrapped}/bin/*-ranlib; do + ln -s "$orig" "$out/bin/$(basename "$orig")" + done + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.sh b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.sh new file mode 100644 index 000000000000..45720ce02d4a --- /dev/null +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrapper.sh @@ -0,0 +1,51 @@ +#!@bash@ + +if [ 1 = "$#" ] && [ "x-v" = "x$1" ]; then + # HACK! should not pass -Wl if there are no input files, otherwise libtool breaks + exec -a "@origname@" @gcc@ -v +fi + +# logic based on pkgs/build-support/bintools-wrapper/ld-wrapper.sh +# very hacky +extraRpath="" +prev="" +for param in "$@"; do + case "$prev" in + -L | -B) + case "$param" in + "$NIX_STORE"/*) + extraRpath="$extraRpath -Wl,-rpath,${param}" + ;; + *) + ;; + esac + ;; + *) + case "$param" in + -L"$NIX_STORE"/* | -B"$NIX_STORE"/*) + extraRpath="$extraRpath -Wl,-rpath,${param:2}" + ;; + "$NIX_STORE"/*.so | "$NIX_STORE"/*.so.*) + extraRpath="$extraRpath -Wl,-rpath,${param%/*}" + ;; + *) + ;; + esac + ;; + esac + prev="$param" +done + +# Order of -B is very particular. musl detection in gnulib requires that +# libc/.. comes before libgcc, otherwise libc is assumed to be glibc. +exec -a "@origname@" @gcc@ -Wl,-dynamic-linker=@dynlinker@ \ + @extraflags@ \ + $extraRpath \ + -Wl,-rpath,@libc@,-rpath,@libgcc@ \ + -B@libc@/.. \ + -B@libgcc@ \ + -B@libc@ \ + -B@origdir@ \ + -B@binutils@ \ + -isystem @gccinc@ \ + "$@" diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrappercxx.sh b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrappercxx.sh new file mode 100644 index 000000000000..c567b0313f08 --- /dev/null +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/wrappercxx.sh @@ -0,0 +1,57 @@ +#!@bash@ + +if [ 1 = "$#" ] && [ "x-v" = "x$1" ]; then + # HACK! should not pass -Wl if there are no input files, otherwise libtool breaks + exec -a "@origname@" @gcc@ -v +fi + +# logic based on pkgs/build-support/bintools-wrapper/ld-wrapper.sh +# very hacky +extraRpath="" +prev="" +for param in "$@"; do + case "$prev" in + -L | -B) + case "$param" in + "$NIX_STORE"*) + extraRpath="$extraRpath -Wl,-rpath,${param}" + ;; + *) + ;; + esac + ;; + *) + case "$param" in + -L"$NIX_STORE"/* | -B"$NIX_STORE"/*) + extraRpath="$extraRpath -Wl,-rpath,${param:2}" + ;; + "$NIX_STORE"/*.so | "$NIX_STORE"/*.so.*) + extraRpath="$extraRpath -Wl,-rpath,${param%/*}" + ;; + *) + ;; + esac + ;; + esac + prev="$param" +done + +# Order of -B is very particular. musl detection in gnulib requires that +# libc/.. comes before libgcc, otherwise libc is assumed to be glibc. +# Also, libstdcxxinc uses #include_next directives that depend on +# libc headers, so libstdcxx must come before libc. +exec -a "@origname@" @gcc@ -Wl,-dynamic-linker=@dynlinker@ \ + @extraflags@ \ + $extraRpath \ + -Wl,-rpath,@libc@,-rpath,@libgcc@,-rpath,@libstdcxx@ \ + -I @libstdcxxarchinc@ \ + -I @libstdcxxinc@ \ + -B@libc@/.. \ + -B@libc@ \ + -B@libgcc@ \ + -B@origdir@ \ + -B@binutils@ \ + -B@libstdcxx@ \ + -isystem @gccinc@ \ + "$@" + diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix index 18e71d833461..7680ce122fa4 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,9 +68,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix index 71ff15627feb..1f3edd005952 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -71,7 +69,6 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ CFLAGS=-I${linux-headers}/include # Build diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix index d24f0e6d12ce..29baaebafcfd 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnupatch, @@ -42,7 +41,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnupatch @@ -72,7 +70,7 @@ bash.runCommand "${pname}-${version}" # Configure # - # Use std=gnu17 to avoid issue GCC 15.2.0 incompatibility. + # Use std=gnu17 to avoid issue GCC 15.3.0 incompatibility. # There is no newer release of gnumake available right now. bash ./configure \ --prefix=$out \ @@ -80,8 +78,7 @@ bash.runCommand "${pname}-${version}" --host=${hostPlatform.config} \ --disable-dependency-tracking \ --disable-nls \ - CC=musl-gcc \ - CFLAGS="-static -std=gnu17" + CFLAGS="-std=gnu17" # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix index ee25341e0b3b..287776101e8f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -69,9 +67,7 @@ bash.runCommand "${pname}-${version}" --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --disable-dependency-tracking \ - CC=musl-gcc \ - CFLAGS=-static + --disable-dependency-tracking # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix index 8ebb1791e55c..90346ee634ba 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -62,9 +60,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix index 07eba0ef2fe4..fb6f5ea5ba41 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -62,9 +60,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix index f449fdcd3609..76d1ef9474a3 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -69,7 +67,6 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ CFLAGS=-static # Build diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/musl/static.nix index e85e86d8de98..27bfc63aa75f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/musl/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/static.nix @@ -13,6 +13,7 @@ gnutar, gzip, linux-headers, + libgcc, }: let inherit (import ./common.nix { inherit lib; }) pname meta; @@ -22,6 +23,10 @@ let url = "https://musl.libc.org/releases/musl-${version}.tar.gz"; hash = "sha256-1YX9O2E8ZhUfwySejtRPdwIMtebB5jWmFtP5+CRgUSo="; }; + + binutilsTargetPrefix = lib.optionalString ( + hostPlatform.config != buildPlatform.config + ) "${hostPlatform.config}-"; in bash.runCommand "${pname}-${version}" { @@ -77,23 +82,23 @@ bash.runCommand "${pname}-${version}" src/misc/wordexp.c # Configure + export CC="${binutilsTargetPrefix}gcc -B${libgcc}/lib/gcc/${hostPlatform.config}/${libgcc.version} -Wl,-rpath,${libgcc}/lib/gcc/${hostPlatform.config}/${libgcc.version}" bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --syslibdir=$out/lib \ - --enable-wrapper + --syslibdir=$out/lib # Build make -j $NIX_BUILD_CORES # Install make -j $NIX_BUILD_CORES install - sed -i 's|/bin/sh|${lib.getExe bash}|' $out/bin/* + mkdir -p $out/bin ln -s ../lib/libc.so $out/bin/ldd ln -s $(ls -d ${linux-headers}/include/* | grep -v scsi\$) $out/include/ # Strip # Ignore failures, because strip may fail on non-elf files. - find $out/{bin,lib} -type f -exec strip --strip-debug {} + || true + find $out/{bin,lib} -type f -exec ${binutilsTargetPrefix}strip --strip-debug {} + || true '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix index 1bec275f7b2a..622dc2846468 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -71,8 +69,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ - CXXFLAGS="-static -g0 -O2 -DNDEBUG -ffile-prefix-map=${gcc}=. -fmacro-prefix-map=${gcc}=." + CXXFLAGS="-g0 -O2 -DNDEBUG -ffile-prefix-map=${gcc}=. -fmacro-prefix-map=${gcc}=." # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix index bc12245fd9db..ff04626a6336 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnupatch, @@ -42,7 +41,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnupatch @@ -80,11 +78,9 @@ bash.runCommand "${pname}-${version}" ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} # Configure - export CC=musl-gcc export C_INCLUDE_PATH="${zlib}/include" export LIBRARY_PATH="${zlib}/lib" - export LDFLAGS="-Wl,-rpath,${zlib}/lib -L${zlib}/lib" - export LD_LIBRARY_PATH="$LIBRARY_PATH" + export LDFLAGS="-L${zlib}/lib" bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ diff --git a/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix index c663c4cf04f8..cc224fdaeab9 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix @@ -12,7 +12,6 @@ gawk, gnutar, gzip, - musl, }: let pname = "xz"; @@ -30,7 +29,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ binutils gcc - musl gnumake gnused gnugrep @@ -39,7 +37,7 @@ bash.runCommand "${pname}-${version}" gzip ]; - disallowedReferences = [ musl ]; + disallowedReferences = [ gcc ]; passthru.tests.get-version = result: @@ -66,10 +64,8 @@ bash.runCommand "${pname}-${version}" cd xz-${version} # Configure - export CC=musl-gcc export CFLAGS="-g0 -O2 -DNDEBUG" export CXXFLAGS="$CFLAGS" - export LDFLAGS=-static bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ @@ -87,7 +83,7 @@ bash.runCommand "${pname}-${version}" --disable-assembler # Build - make -j $NIX_BUILD_CORES LDFLAGS=-all-static + make -j $NIX_BUILD_CORES # Install make -j $NIX_BUILD_CORES install-strip diff --git a/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix index 845f49a48157..79a87e210934 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix @@ -3,7 +3,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -26,7 +25,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -49,7 +47,6 @@ bash.runCommand "${pname}-${version}" cd zlib-${version} # Configure - export CC=musl-gcc bash ./configure --prefix=$out # Build diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index eab1a27055ec..475cf78c4981 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -245,18 +245,18 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - substituteInPlace src/basic/path-util.h --replace "@defaultPathNormal@" "${placeholder "out"}/bin/" + substituteInPlace src/basic/path-util.h --replace-fail "@defaultPathNormal@" "${placeholder "out"}/bin/" '' + lib.optionalString withLibBPF '' - substituteInPlace meson.build \ - --replace "find_program('clang'" "find_program('${stdenv.cc.targetPrefix}clang'" + substituteInPlace src/bpf/meson.build \ + --replace-fail "find_program('clang'" "find_program('${stdenv.cc.targetPrefix}clang'" '' + lib.optionalString withUkify '' substituteInPlace src/ukify/ukify.py \ - --replace \ + --replace-fail \ "'readelf'" \ "'${targetPackages.stdenv.cc.bintools.targetPrefix}readelf'" \ - --replace \ + --replace-fail \ "/usr/lib/systemd/boot/efi" \ "$out/lib/systemd/boot/efi" '' @@ -580,7 +580,7 @@ stdenv.mkDerivation (finalAttrs: { ]; preConfigure = '' substituteInPlace src/libsystemd/sd-journal/catalog.c \ - --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ + --replace-fail /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ ''; # These defines are overridden by CFLAGS and would trigger annoying @@ -628,7 +628,7 @@ stdenv.mkDerivation (finalAttrs: { # Fix reference to /bin/false in the D-Bus services. for i in $out/share/dbus-1/system-services/*.service; do - substituteInPlace $i --replace /bin/false ${coreutils}/bin/false + substituteInPlace $i --replace-fail /bin/false ${coreutils}/bin/false done # For compatibility with dependents that use sbin instead of bin. diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index cb5d580a01db..f38d8ee5d3e9 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -332,6 +332,9 @@ python3Packages.buildPythonApplication rec { # https://github.com/home-assistant/core/pull/172893 ./patches/pyjwt-2.13-compat.patch + + # remove is_xdist_controller usage + ./patches/syrupy-5.5-compat.patch ]; postPatch = '' diff --git a/pkgs/servers/home-assistant/patches/syrupy-5.5-compat.patch b/pkgs/servers/home-assistant/patches/syrupy-5.5-compat.patch new file mode 100644 index 000000000000..a57929bef17d --- /dev/null +++ b/pkgs/servers/home-assistant/patches/syrupy-5.5-compat.patch @@ -0,0 +1,22 @@ +diff --git a/tests/syrupy.py b/tests/syrupy.py +index a8779963109..0b4c009d59c 100644 +--- a/tests/syrupy.py ++++ b/tests/syrupy.py +@@ -18,7 +18,7 @@ from syrupy.location import PyTestLocation + from syrupy.report import SnapshotReport + from syrupy.session import ItemStatus, SnapshotSession + from syrupy.types import PropertyFilter, PropertyMatcher, PropertyPath, SerializableData +-from syrupy.utils import is_xdist_controller, is_xdist_worker ++from syrupy.utils import is_xdist_worker + import voluptuous as vol + import voluptuous_serialize + +@@ -406,8 +406,6 @@ def override_syrupy_finish(self: SnapshotSession) -> int: + indent=2, + ) + return exitstatus +- if is_xdist_controller(): +- return exitstatus + + if needs_xdist_merge: + worker_count = None diff --git a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix index 7cc26ca6ebbe..f12a44dae422 100644 --- a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix +++ b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix @@ -31,6 +31,10 @@ buildPythonPackage rec { hash = "sha256-GUUz6gbhmIgZCH9y3oEmf1Y+Gp2yUf8zvxM//uGvsNw="; }; + patches = [ + ./syrupy-5.5-compat.patch + ]; + build-system = [ setuptools ]; pythonRemoveDeps = true; diff --git a/pkgs/servers/home-assistant/syrupy-5.5-compat.patch b/pkgs/servers/home-assistant/syrupy-5.5-compat.patch new file mode 100644 index 000000000000..6daa3478612b --- /dev/null +++ b/pkgs/servers/home-assistant/syrupy-5.5-compat.patch @@ -0,0 +1,22 @@ +diff --git a/src/pytest_homeassistant_custom_component/syrupy.py b/src/pytest_homeassistant_custom_component/syrupy.py +index 2eadcd3..2f90ab6 100644 +--- a/src/pytest_homeassistant_custom_component/syrupy.py ++++ b/src/pytest_homeassistant_custom_component/syrupy.py +@@ -22,7 +22,7 @@ from syrupy.location import PyTestLocation + from syrupy.report import SnapshotReport + from syrupy.session import ItemStatus, SnapshotSession + from syrupy.types import PropertyFilter, PropertyMatcher, PropertyPath, SerializableData +-from syrupy.utils import is_xdist_controller, is_xdist_worker ++from syrupy.utils import is_xdist_worker + import voluptuous as vol + import voluptuous_serialize + +@@ -410,8 +410,6 @@ def override_syrupy_finish(self: SnapshotSession) -> int: + indent=2, + ) + return exitstatus +- if is_xdist_controller(): +- return exitstatus + + if needs_xdist_merge: + worker_count = None diff --git a/pkgs/shells/bash/bash-5.3-patches.nix b/pkgs/shells/bash/bash-5.3-patches.nix index 28055cc582aa..4c16a6791d68 100644 --- a/pkgs/shells/bash/bash-5.3-patches.nix +++ b/pkgs/shells/bash/bash-5.3-patches.nix @@ -10,4 +10,10 @@ patch: [ (patch "007" "16dj7vx971q4zbagb46nya7mc6530vr5h86nzmy3qid1zyznp5y0") (patch "008" "1d1zclczgh6j8kjv9ibycn155n1z783188n399khg2gvrcixfz09") (patch "009" "132gy991ayjmr2rynx077rhzr749101y047043zb432bibkhzqzf") + (patch "010" "0s95wzk3zf8hh58jhz6imhqwj3183z905w7rpwc0qc7awb6g2xng") + (patch "011" "0cbmpv5nvmk4gzm0nmsvvm1c7ixkqmlx5mrywhxiv8x2bs7xz602") + (patch "012" "0ws5fnk7rpy6jiji3lws7fja0n5lgzki8i214gqxmbpbkfrpj4yp") + (patch "013" "007jg69286wam4lqd6ab5gs6zl4k3r29fill251by93yjvd9qbq4") + (patch "014" "0v398i0s7i5qrz85nfhdkxwcd6baagcclgbqb3ihg1fk06s60hxx") + (patch "015" "0vpl2h85i3gifnymc5f050mgxckyka9pwsgdgrvgc9zwwbp9rdsm") ] diff --git a/pkgs/tools/compression/gzip/CVE-2026-41991.patch b/pkgs/tools/compression/gzip/CVE-2026-41991.patch new file mode 100644 index 000000000000..657d8553bcd2 --- /dev/null +++ b/pkgs/tools/compression/gzip/CVE-2026-41991.patch @@ -0,0 +1,52 @@ +From 4e6f8b24ab823146ab8776f0b7fe486ab34d4269 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 16 Apr 2026 12:11:44 -0700 +Subject: gzexe: use -C if lacking mktemp +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +(Problem reported by Michał Majchrowicz.) +* gzexe.in: If mktemp is needed but not installed, +use ‘set -C’ to avoid a race when creating a temporary file. +* zdiff.in: Use the same pattern here, even though the old +code was probably OK anyway. +--- + gzexe.in | 1 + + zdiff.in | 7 +++---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/gzexe.in b/gzexe.in +index ea4ef94..f3d46cc 100644 +--- a/gzexe.in ++++ b/gzexe.in +@@ -127,6 +127,7 @@ for i do + tmp=`mktemp "${dir}gzexeXXXXXXXXX"` + else + tmp=${dir}gzexe$$ ++ (umask 77; set -C; > "$tmp") + fi && { cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp"; } || { + res=$? + printf >&2 '%s\n' "$0: cannot copy $file" +diff --git a/zdiff.in b/zdiff.in +index 289e466..53266df 100644 +--- a/zdiff.in ++++ b/zdiff.in +@@ -156,12 +156,11 @@ case $file2 in + *) TMPDIR=/tmp/;; + esac + if command -v mktemp >/dev/null 2>&1; then +- tmp=`mktemp "${TMPDIR}zdiffXXXXXXXXX"` || +- exit 2 ++ tmp=`mktemp "${TMPDIR}zdiffXXXXXXXXX"` + else +- set -C + tmp=${TMPDIR}zdiff$$ +- fi ++ (umask 77; set -C; > "$tmp") ++ fi && + 'gzip' -cdfq -- "$file2" > "$tmp" || exit 2 + gzip_status=$( + exec 4>&1 +-- +cgit v1.2.3 diff --git a/pkgs/tools/compression/gzip/CVE-2026-41992.patch b/pkgs/tools/compression/gzip/CVE-2026-41992.patch new file mode 100644 index 000000000000..f7576a2b7872 --- /dev/null +++ b/pkgs/tools/compression/gzip/CVE-2026-41992.patch @@ -0,0 +1,35 @@ +From 63dbf6b3b9e6e781df1a6a64e609b10e23969681 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 15 Apr 2026 12:00:17 -0700 +Subject: gzip: don’t mishandle .lzh after .Z +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Michał Majchrowicz. +* unlzh.c (read_c_len): Clear left and right when n == 0. +--- + unlzh.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +(limited to 'unlzh.c') + +diff --git a/unlzh.c b/unlzh.c +index 3320196..a6cf109 100644 +--- a/unlzh.c ++++ b/unlzh.c +@@ -232,6 +232,12 @@ read_c_len () + c = getbits(CBIT); + for (i = 0; i < NC; i++) c_len[i] = 0; + for (i = 0; i < 4096; i++) c_table[i] = c; ++ ++ /* Needed in case LEFT and RIGHT are reused from a previous ++ LZW decompression. It may be overkill to clear all of both ++ arrays, but nobody has had time to analyze this carefully. */ ++ memzero(left, (2 * NC - 1) * sizeof *left); ++ memzero(right, (2 * NC - 1) * sizeof *left); + } else { + i = 0; + while (i < n) { +-- +cgit v1.3 diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index 446e5fab0af8..6aafcf6481df 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -25,6 +25,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Aae4gb0iC/32Ffl7hxj4C9/T9q3ThbmT3Pbv0U6MCsY="; }; + patches = [ + ./CVE-2026-41991.patch + ./CVE-2026-41992.patch + ]; + outputs = [ "out" "man" diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index da9968755584..0fae703c4c4a 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -26,6 +26,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7RRlaIOyOjZLQFfAVZXZMlLam8Rz0wEGUZUZ0NoUEoM="; }; + # Work around too strict landlock hardening + # https://bugs.astron.com/view.php?id=785 + postPatch = '' + substituteInPlace src/landlock.c --replace-fail \ + "LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_READ_DIR" \ + "LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_READ_DIR | LANDLOCK_ACCESS_FS_EXECUTE" + ''; + outputs = [ "out" "dev" diff --git a/pkgs/tools/security/pinentry/mac.nix b/pkgs/tools/security/pinentry/mac.nix index fd9dee1723a7..6b354ef48d23 100644 --- a/pkgs/tools/security/pinentry/mac.nix +++ b/pkgs/tools/security/pinentry/mac.nix @@ -10,8 +10,6 @@ common-updater-scripts, writers, re-plistbuddy, - # TODO: Clean up on `staging` - llvmPackages, }: stdenv.mkDerivation rec { @@ -49,8 +47,6 @@ stdenv.mkDerivation rec { makeBinaryWrapper texinfo re-plistbuddy - # TODO: Clean up on `staging` - llvmPackages.lld ]; configureFlags = [ @@ -60,11 +56,6 @@ stdenv.mkDerivation rec { "--with-libassuan-prefix=${libassuan.dev}" ]; - # Fix for ld64 hardening issue - # - # TODO: Clean up on `staging` - env.NIX_CFLAGS_LINK = "-fuse-ld=lld"; - installPhase = '' mkdir -p $out/Applications $out/bin mv macosx/pinentry-mac.app $out/Applications diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 2cbdfd2fa593..87d2946e6160 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, removeReferencesTo, runtimeShellPackage, texinfo, @@ -25,13 +26,23 @@ assert (doCheck && stdenv.hostPlatform.isLinux) -> glibcLocales != null; stdenv.mkDerivation rec { pname = "gawk" + lib.optionalString interactive "-interactive"; - version = "5.4.0"; + version = "5.4.1"; src = fetchurl { url = "mirror://gnu/gawk/gawk-${version}.tar.xz"; - hash = "sha256-PdQw8M07RCjGw/avwCG5zTwfjJP3pojcJoykKKkLSsE="; + hash = "sha256-B/b3NCt/6+QxP8LCVCrZPWT+IK2HFyABCfEFqCb1/Tc="; }; + patches = [ + # When building gawk without gmp and mpfr, gawk 5.4.1 causes build failures + # in downstream packages such as GCC and libpng. + # Discussion on bug-gawk: + # https://lists.gnu.org/archive/html/bug-gawk/2026-07/msg00013.html + # Vendored since we can't use fetchpatch: + # https://gitweb.git.savannah.gnu.org/gitweb/?p=gawk.git;a=commit;h=bf85f8a3175af703597082d4c7e0abc2066a44d3 + ./node-struct-without-gmp-mpfr.patch + ]; + # When we do build separate interactive version, it makes sense to always include man. outputs = [ "out" diff --git a/pkgs/tools/text/gawk/node-struct-without-gmp-mpfr.patch b/pkgs/tools/text/gawk/node-struct-without-gmp-mpfr.patch new file mode 100644 index 000000000000..01f660c191e8 --- /dev/null +++ b/pkgs/tools/text/gawk/node-struct-without-gmp-mpfr.patch @@ -0,0 +1,79 @@ +From bf85f8a3175af703597082d4c7e0abc2066a44d3 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Tue, 14 Jul 2026 10:14:50 +0300 +Subject: [PATCH] Workaround fix for systems without MPFR and GMP. + +--- + ChangeLog | 8 ++++++++ + awk.h | 23 ++++++++++++++--------- + 2 files changed, 22 insertions(+), 9 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 6a955eed..42bd2c48 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -3,6 +3,14 @@ + * builtin.c (do_dump_node): Add the size of each object to + the printout. + ++ Unrelated: Make things works when built on systems without ++ the GMP and MPFR libraries. Thanks to Thomas Trepl ++ and Bruce Dubbs for the reports. ++ ++ * awk.h (struct exp_node): Add alignment padding when we don't ++ have MPFR. This is a hack, pending a total refactoring of ++ the NODE structure. ++ + 2026-07-08 Arnold D. Robbins + + * 5.4.1: Release tar ball made. +diff --git a/awk.h b/awk.h +index dbad0d81..f4a84300 100644 +--- a/awk.h ++++ b/awk.h +@@ -406,17 +406,24 @@ typedef struct exp_node { + } nodep; + + struct { +-#ifdef HAVE_MPFR + union { + AWKNUM fltnum; ++#ifdef HAVE_MPFR + mpfr_t mpnum; + mpz_t mpi; +- } nm; +- int rndmode; + #else +- AWKNUM fltnum; +- int for_alignment_only; // especially on 32-bit +-#endif ++ // 7/2026: ++ // This is a workaround for systems that build ++ // gawk without MPFR and GMP. The NODE struct ++ // desperately needs to be refactored. ++#if SIZEOF_VOID_P == 4 ++ char alignment[28]; ++#else // SIZEOF_VOID_P != 4 ++ char alignment[48]; ++#endif // SIZEOF_VOID_P != 4 ++#endif // HAVE_MPFR ++ } nm; ++ int rndmode; // only used for MPFR. + char *sp; + size_t slen; + int idx; +@@ -561,10 +568,8 @@ typedef struct exp_node { + #ifdef HAVE_MPFR + #define mpg_numbr sub.val.nm.mpnum + #define mpg_i sub.val.nm.mpi +-#define numbr sub.val.nm.fltnum +-#else +-#define numbr sub.val.fltnum + #endif ++#define numbr sub.val.nm.fltnum + #define typed_re sub.val.typre + + /* +-- +2.54.0 + diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 92910ed3e139..a2f515b42732 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -578,6 +578,7 @@ mapAliases { copilot-language-server-fhs = warnAlias "The package set `copilot-language-server-fhs` has been renamed to `copilot-language-server`." copilot-language-server; # Added 2025-09-07 copper = throw "'copper' has been removed, as it was broken since 22.11"; # Added 2025-08-22 cordless = throw "'cordless' has been removed due to being archived upstream. Consider using 'discordo' instead."; # Added 2025-06-07 + corepack_20 = nodejs_20; corepack_latest = throw "'corepack_latest' has been removed, use 'corepack.override { nodejs-slim = pkgs.nodejs-slim_latest; }' instead"; # Added 2025-10-25 coreth = throw "'coreth' has been moved to 'avalanchego' by upstream"; # Added 2026-01-15 cosmic-applibrary = warnAlias "'cosmic-applibrary' has been renamed to 'cosmic-app-library'" cosmic-app-library; # Added 2026-07-01 @@ -1684,7 +1685,9 @@ mapAliases { nm-tray = throw "'nm-tray' has been removed, as it only works with Plasma 5"; # Added 2025-08-30 nmapsi4 = throw "'nmapsi4' has been removed as it depended on qt5 webengine, which is EOL"; # Added 2026-04-25 node2nix = throw "node2nix has been removed because it was only used to maintain the now-removed nodePackages set. Use the newer builders in nixpkgs instead, such as buildNpmPackage"; # Added 2026-03-03 + nodejs-slim_20 = nodejs_20; nodejs-slim_25 = nodejs_25; + nodejs_20 = throw "Node.js 20 support was removed given upstream End-of-Life on 2026-04-30"; # Added 2026-07-13 nodejs_25 = throw "Node.js 25 support was removed given upstream End-of-Life on 2026-06-01"; # Added 2026-04-26 nodePackages = throw "nodePackages has been removed. Many packages are now available at the top level (e.g. `pkgs.package-name`). Check on https://search.nixos.org to see if the package is still available."; # Added 2026-03-03 nodePackages_latest = throw "nodePackages has been removed. Many packages are now available at the top level (e.g. `pkgs.package-name`). Check on https://search.nixos.org to see if the package is still available."; # Added 2026-03-03 @@ -1748,6 +1751,7 @@ mapAliases { openjfx23 = throw "OpenJFX 23 was removed as it has reached its end of life"; # Added 2025-11-04 openjfx24 = throw "OpenJFX 24 was removed as it has reached its end of life"; # Added 2025-10-04 openmodelica = throw "'openmodelica' has been removed as it was unmaintained in nixpkgs and depends on insecure&unmtaintained qtwebkit"; # Added 2026-04-26 + openmpCheckPhaseHook = warnAlias "'openmpCheckPhaseHook' has been renamed to 'checkPhaseThreadLimitHook' to reflect its handling of all known thread-limiting mechanisms during check phase" checkPhaseThreadLimitHook; # Added 2026-07-09 openmw-tes3mp = throw "'openmw-tes3mp' has been removed due to lack of maintenance upstream"; # Added 2025-08-30 openssl_3_0 = throw "'openssl_3_0' has been renamed to/replaced by 'openssl_3'"; # Converted to throw 2025-10-27 opensycl = throw "'opensycl' has been renamed to/replaced by 'adaptivecpp'"; # Converted to throw 2025-10-27 @@ -2368,6 +2372,7 @@ mapAliases { vkBasalt = throw "'vkBasalt' has been renamed to/replaced by 'vkbasalt'"; # Converted to throw 2025-10-27 vkdt-wayland = throw "'vkdt-wayland' has been renamed to/replaced by 'vkdt'"; # Converted to throw 2025-10-27 vmfs-tools = throw "'vmfs-tools' has been removed as it depends on unsupported fuse2 and is unmaintained upstream"; # Added 2026-06-07 + vncdo = warnAlias "'vncdo' has been renamed to 'vncdotool'" vncdotool; # Added 2026-06-30 vokoscreen = throw "'vokoscreen' has been replaced by vokoscreen-ng"; # Added 2025-10-21 volk_2 = throw "'volk_2' has been removed after not being used by any package for a long time"; # Added 2025-10-25 volnoti = throw "'volnoti' has been removed due to lack of maintenance upstream. Consider using 'rumno' instead."; # Added 2024-12-04 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1efc58c6714e..c060e513bf17 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2403,10 +2403,6 @@ with pkgs; nodejs = nodejs_24; nodejs-slim = nodejs-slim_24; - nodejs-slim_20 = callPackage ../development/web/nodejs/v20.nix { }; - nodejs_20 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_20; }; - corepack_20 = callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs-slim_20; }; - nodejs-slim_22 = callPackage ../development/web/nodejs/v22.nix { }; nodejs_22 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_22; }; corepack_22 = callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs-slim_22; }; @@ -3055,7 +3051,7 @@ with pkgs; vinyl-cache = vinyl-cache_9; - vncdo = with python3Packages; toPythonApplication vncdo; + vncdotool = with python3Packages; toPythonApplication vncdotool; # An alias to work around the splicing incidents # Related: @@ -4068,15 +4064,15 @@ with pkgs; wrapRustcWith = { rustc-unwrapped, ... }@args: callPackage ../build-support/rust/rustc-wrapper args; wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; }; - rust_1_96 = callPackage ../development/compilers/rust/1_96.nix { }; - rust = rust_1_96; + rust_1_97 = callPackage ../development/compilers/rust/1_97.nix { }; + rust = rust_1_97; mrustc = callPackage ../development/compilers/mrustc { }; mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { }; - rustPackages_1_96 = rust_1_96.packages.stable; - rustPackages = rustPackages_1_96; + rustPackages_1_97 = rust_1_97.packages.stable; + rustPackages = rustPackages_1_97; inherit (rustPackages) cargo @@ -5903,7 +5899,7 @@ with pkgs; icu78 ; - icu = icu76; + icu = icu78; idasen = with python3Packages; toPythonApplication idasen; @@ -7065,14 +7061,6 @@ with pkgs; ]; }; - sbcl_2_6_4 = wrapLisp { - pkg = callPackage ../development/compilers/sbcl { version = "2.6.4"; }; - faslExt = "fasl"; - flags = [ - "--dynamic-space-size" - "3000" - ]; - }; sbcl_2_6_5 = wrapLisp { pkg = callPackage ../development/compilers/sbcl { version = "2.6.5"; }; faslExt = "fasl"; @@ -7081,7 +7069,15 @@ with pkgs; "3000" ]; }; - sbcl = sbcl_2_6_5; + sbcl_2_6_6 = wrapLisp { + pkg = callPackage ../development/compilers/sbcl { version = "2.6.6"; }; + faslExt = "fasl"; + flags = [ + "--dynamic-space-size" + "3000" + ]; + }; + sbcl = sbcl_2_6_6; sbclPackages = recurseIntoAttrs sbcl.pkgs; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index cddd0517ca13..a8673341ac63 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -86,6 +86,7 @@ mapAliases { amazon-kclpy = throw "amazon-kclpy has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03 amazon_kclpy = throw "'amazon_kclpy' has been renamed to/replaced by 'amazon-kclpy'"; # Converted to throw 2025-10-29 amqplib = throw "amqplib has been removed as it was unmaintained upstream"; # Added 2025-11-22 + ancp-bids = ancpbids; # added 2026-06-18 ansible-vault-rw = ansible-vault; # Added 2026-07-10 ansiconv = throw "ansiconv has been removed because it was archived upstream"; # Added 2026-01-14 ansiwrap = throw "ansiwrap has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03 @@ -93,6 +94,7 @@ mapAliases { APScheduler = throw "'APScheduler' has been renamed to/replaced by 'apscheduler'"; # Converted to throw 2025-10-29 argon2_cffi = throw "'argon2_cffi' has been renamed to/replaced by 'argon2-cffi'"; # Converted to throw 2025-10-29 asmog = throw "'asmog' has been removed because the service it polled is offline and the library has been unmaintained since 2019"; # Added 2026-06-04 + aspell-python = aspell-python-py3; # added 2026-06-18 aspy-refactor-imports = throw "'aspy-refactor-imports' has been renamed to/replaced by 'classify-imports'"; # Added 2026-05-22 aspy-yaml = throw "'aspy-yaml' has been removed because the upstream repository was archived in 2020"; # Added 2026-06-04 astropy-extension-helpers = extension-helpers; # Added 2025-10-15 @@ -106,6 +108,7 @@ mapAliases { atsim_potentials = throw "'atsim_potentials' has been renamed to/replaced by 'atsim-potentials'"; # Converted to throw 2025-10-29 aubio = throw "'aubio' only direct user LedFX switched to a fork named 'aubio-ledfx', hence the aubio package has been replaced."; # Added 2026-04-20 audio-metadata = throw "'audio-metadata' has been removed as it's unmaintained since 2020"; # Added 2026-03-12 + augeas = python-augeas; # added 2026-06-18 autotrash = throw "'autotrash' has been renamed to/replaced by 'super.pkgs.autotrash'"; # Converted to throw 2025-10-29 av_13 = throw "'av_13' has been renamed to/replaced by 'av'"; # Added 2026-02-01 avion = throw "'avion' has been removed since it depended on the unmaintained bluepy library"; # Added 2026-06-04 @@ -159,10 +162,12 @@ mapAliases { cx_oracle = throw "'cx_oracle' has been renamed to/replaced by 'cx-oracle'"; # Converted to throw 2025-10-29 dalle-mini = throw "'dalle-mini' has been removed due to lack of upstream maintenance"; # added 2026-02-26 dask-yarn = throw "'dask-yarn' has been removed due to lack of upstream maintenance"; # added 2026-07-06 + dataclasses-serialization = throw "'dataclasses-serialization' has been removed due to lack of upstream maintenance."; # added 2026-07-14 datashape = throw "'datashape' has been removed as it was unmaintained upstream"; # Added 2026-03-22 datatable = throw "'datatable' has been removed due to lack of upstream maintenance"; # added 2026-02-02 dateutil = throw "'dateutil' has been renamed to/replaced by 'python-dateutil'"; # Converted to throw 2025-10-29 debian = throw "'debian' has been renamed to/replaced by 'python-debian'"; # Converted to throw 2025-10-29 + dedupe-pylbfgs = pylbfgs; # added 2026-06-28 deepsearch-glm = throw "'deepsearch-glm' has been removed due to lack of upstream maintenance"; # Added 2025-03-04 dictpath = throw "'dictpath' has been renamed to/replaced by 'pathable'"; # Converted to throw 2025-10-29 diff_cover = throw "'diff_cover' has been renamed to/replaced by 'diff-cover'"; # Converted to throw 2025-10-29 @@ -226,6 +231,7 @@ mapAliases { face_recognition = throw "'face_recognition' has been renamed to/replaced by 'face-recognition'"; # Converted to throw 2025-10-29 face_recognition_models = throw "'face_recognition_models' has been renamed to/replaced by 'face-recognition-models'"; # Converted to throw 2025-10-29 factory_boy = throw "'factory_boy' has been renamed to/replaced by 'factory-boy'"; # Converted to throw 2025-10-29 + fasthtml = python-fasthtml; # Added 2026-07-11 fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-29 fasttext-predict = throw "'fasttext-predict' has been removed as the only consumer searxng removed its usage"; # Added 2026-03-11 fb-re2 = throw "fb-re2 has been removed since it is unmaintained upstream, consider google-re2 instead"; # added 2025-10-18 @@ -384,6 +390,7 @@ mapAliases { modeled = "'modeled' has been removed because it is unmaintained"; # Added 2026-01-19 monarchmoney = throw "'monarchmoney' has been renamed to/replaced by 'monarchmoneycommunity'"; # Added 2026-03-05 monkeytype = throw "'monkeytype' has been removed as it was unmaintained upstream"; # Added 2026-04-19 + more-properties = "'more-properties' has been removed to due lack of upstream maintenance"; # Added 2026-07-14 moretools = "'moretools' has been removed because it is unmaintained"; # Added 2026-01-19 mpd2 = warnAlias "'mpd2' has been renamed to 'python-mpd2'"; # Added 2026-06-14 mpire = throw "'mpire' has been removed because it is unused in Nixpkgs"; # Added 2026-06-22 @@ -447,6 +454,7 @@ mapAliases { Pweave = throw "'Pweave' has been renamed to/replaced by 'pweave'"; # Converted to throw 2025-10-29 py-deprecate = throw "'py-deprecate' has been renamed to/replaced by 'pydeprecate'"; # Converted to throw 2026-06-19 py-eth-sig-utils = throw "py-eth-sig-utils has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04 + py-multiaddr = multiaddr; # added 2026-06-27 py-scrypt = scrypt; # added 2025-08-07 py_stringmatching = throw "'py_stringmatching' has been renamed to/replaced by 'py-stringmatching'"; # Converted to throw 2025-10-29 pybind11-protobuf = throw "'pybind11-protobuf' was only used by or-tools, and with some overrides, so vendored in there until it's used in other places."; # Converted to throw 2025-11-06 @@ -515,6 +523,7 @@ mapAliases { pysuez = throw "'pysuez' has been renamed to/replaced by 'pysuezv2'"; # Converted to throw 2025-10-29 pytado = throw "'pytado' has been renamed to/replaced by 'python-tado'"; # Converted to throw 2025-10-29 pytedee-async = aiotedee; # added 2025-07-06 + pytest-cram = throw "'pytest-cram' was removed becaused it was unmaintained"; # added 2026-07-14 pytest-kafka = throw "'pytest-kafka' was removed because it is no longer used"; # added 2026-06-17 pytest-pep8 = throw "'pytest-pep8' has been renamed to/replaced by 'pytestpep8'"; # Converted to throw 2025-10-29 pytest-subtests = throw "'pytest-subtests' has been integrated into pytest 9."; # Added 2026-01-21 @@ -630,6 +639,7 @@ mapAliases { sqlalchemy-views = throw "'sqlalchemy-views' has been removed as it was broken and unmaintained upstream"; # Added 2025-11-09 sqlalchemy_migrate = throw "'sqlalchemy_migrate' has been renamed to/replaced by 'sqlalchemy-migrate'"; # Converted to throw 2025-10-29 steamship = throw "'steamship' has been removed because it is broken and unmaintained upstream"; # Added 2026-05-06 + strawberry-django = strawberry-graphql-django; # Added 2026-07-14 subunit2sql = throw "subunit2sql has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04 subunit = python-subunit; # added 2026-06-21 supafunc = throw "'supafunc' has been replaced by 'supabase-functions'"; # Added 2026-03-08 @@ -681,6 +691,7 @@ mapAliases { vcver = throw "vcver has been removed, since it was an unused leaf package"; # added 2025-08-25 vega_datasets = throw "'vega_datasets' has been renamed to/replaced by 'vega-datasets'"; # Converted to throw 2025-10-29 ViennaRNA = throw "'ViennaRNA' has been renamed to/replaced by 'viennarna'"; # Converted to throw 2025-10-29 + vncdo = vncdotool; # Added 2026-06-30 vulcan-api = throw "vulcan-api has been removed. Their API has changed and they don't allow access from unofficial software anymore."; # added 2025-09-05 vxi11 = throw "'vxi11' has been removed as it was broken and unmaintained upstream"; # Added 2025-11-27 Wand = throw "'Wand' has been renamed to/replaced by 'wand'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2f59c7af243a..f240c66a306a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1073,7 +1073,7 @@ self: super: with self; { anchor-kr = callPackage ../development/python-modules/anchor-kr { }; - ancp-bids = callPackage ../development/python-modules/ancp-bids { }; + ancpbids = callPackage ../development/python-modules/ancpbids { }; androguard = callPackage ../development/python-modules/androguard { }; @@ -1403,7 +1403,7 @@ self: super: with self; { aspectlib = callPackage ../development/python-modules/aspectlib { }; - aspell-python = callPackage ../development/python-modules/aspell-python { }; + aspell-python-py3 = callPackage ../development/python-modules/aspell-python-py3 { }; assay = callPackage ../development/python-modules/assay { }; @@ -1577,8 +1577,6 @@ self: super: with self; { ; }; - augeas = callPackage ../development/python-modules/augeas { inherit (pkgs) augeas; }; - augmax = callPackage ../development/python-modules/augmax { }; auroranoaa = callPackage ../development/python-modules/auroranoaa { }; @@ -3893,17 +3891,6 @@ self: super: with self; { cython_0 = callPackage ../development/python-modules/cython/0.nix { }; - cython_3_1 = self.cython.overrideAttrs rec { - version = "3.1.8"; - - src = pkgs.fetchFromGitHub { - owner = "cython"; - repo = "cython"; - tag = version; - hash = "sha256-U/vxKpLT4BvjpIfwvZTJ93oiZJT7fvh+doz51KPRGAs="; - }; - }; - cytoolz = callPackage ../development/python-modules/cytoolz { }; cyvest = callPackage ../development/python-modules/cyvest { }; @@ -3999,8 +3986,6 @@ self: super: with self; { dataclasses-json = callPackage ../development/python-modules/dataclasses-json { }; - dataclasses-serialization = callPackage ../development/python-modules/dataclasses-serialization { }; - dataconf = callPackage ../development/python-modules/dataconf { }; datadiff = callPackage ../development/python-modules/datadiff { }; @@ -4155,8 +4140,6 @@ self: super: with self; { dedupe-levenshtein-search = callPackage ../development/python-modules/dedupe-levenshtein-search { }; - dedupe-pylbfgs = callPackage ../development/python-modules/dedupe-pylbfgs { }; - deebot-client = callPackage ../development/python-modules/deebot-client { }; deemix = callPackage ../development/python-modules/deemix { }; @@ -5861,8 +5844,6 @@ self: super: with self; { fastgit = callPackage ../development/python-modules/fastgit { }; - fasthtml = callPackage ../development/python-modules/fasthtml { }; - fastimport = callPackage ../development/python-modules/fastimport { }; fastjet = callPackage ../development/python-modules/fastjet { }; @@ -7818,6 +7799,8 @@ self: super: with self; { hypothesis-auto = callPackage ../development/python-modules/hypothesis-auto { }; + hypothesis-jsonschema = callPackage ../development/python-modules/hypothesis-jsonschema { }; + hypothesis_6_136 = callPackage ../development/python-modules/hypothesis/hypothesis_6_136.nix { }; hypothesmith = callPackage ../development/python-modules/hypothesmith { }; @@ -10816,8 +10799,6 @@ self: super: with self; { more-itertools = callPackage ../development/python-modules/more-itertools { }; - more-properties = callPackage ../development/python-modules/more-properties { }; - morecantile = callPackage ../development/python-modules/morecantile { }; moreorless = callPackage ../development/python-modules/moreorless { }; @@ -10960,6 +10941,8 @@ self: super: with self; { multi-key-dict = callPackage ../development/python-modules/multi-key-dict { }; + multiaddr = callPackage ../development/python-modules/multiaddr { }; + multidict = callPackage ../development/python-modules/multidict { }; multimethod = callPackage ../development/python-modules/multimethod { }; @@ -13926,8 +13909,6 @@ self: super: with self; { py-moneyed = callPackage ../development/python-modules/py-moneyed { }; - py-multiaddr = callPackage ../development/python-modules/py-multiaddr { }; - py-multibase = callPackage ../development/python-modules/py-multibase { }; py-multicodec = callPackage ../development/python-modules/py-multicodec { }; @@ -14917,6 +14898,8 @@ self: super: with self; { pylaunches = callPackage ../development/python-modules/pylaunches { }; + pylbfgs = callPackage ../development/python-modules/pylbfgs { }; + pyld = callPackage ../development/python-modules/pyld { }; pyldavis = callPackage ../development/python-modules/pyldavis { }; @@ -16088,8 +16071,6 @@ self: super: with self; { pytest-cov-stub = callPackage ../development/python-modules/pytest-cov-stub { }; - pytest-cram = callPackage ../development/python-modules/pytest-cram { }; - pytest-datadir = callPackage ../development/python-modules/pytest-datadir { }; pytest-datafiles = callPackage ../development/python-modules/pytest-datafiles { }; @@ -16186,6 +16167,8 @@ self: super: with self; { pytest-md-report = callPackage ../development/python-modules/pytest-md-report { }; + pytest-memray = callPackage ../development/python-modules/pytest-memray { }; + pytest-metadata = callPackage ../development/python-modules/pytest-metadata { }; pytest-mh = callPackage ../development/python-modules/pytest-mh { }; @@ -16350,10 +16333,14 @@ self: super: with self; { pytest8_3CheckHook = pytestCheckHook.override { pytest = pytest_8_3; }; + pytest9_0CheckHook = pytestCheckHook.override { pytest = pytest_9_0; }; + pytest_7 = callPackage ../development/python-modules/pytest/7.nix { }; pytest_8_3 = callPackage ../development/python-modules/pytest/8_3.nix { }; + pytest_9_0 = callPackage ../development/python-modules/pytest/9_0.nix { }; + pytestcache = callPackage ../development/python-modules/pytestcache { }; pythinkingcleaner = callPackage ../development/python-modules/pythinkingcleaner { }; @@ -16366,6 +16353,8 @@ self: super: with self; { python-arango = callPackage ../development/python-modules/python-arango { }; + python-augeas = callPackage ../development/python-modules/python-augeas { inherit (pkgs) augeas; }; + python-avatars = callPackage ../development/python-modules/python-avatars { }; python-awair = callPackage ../development/python-modules/python-awair { }; @@ -16480,6 +16469,8 @@ self: super: with self; { python-family-hub-local = callPackage ../development/python-modules/python-family-hub-local { }; + python-fasthtml = callPackage ../development/python-modules/python-fasthtml { }; + python-fedora = callPackage ../development/python-modules/python-fedora { }; python-ffmpeg = callPackage ../development/python-modules/python-ffmpeg { }; @@ -19499,6 +19490,8 @@ self: super: with self; { starkbank-ecdsa = callPackage ../development/python-modules/starkbank-ecdsa { }; + starlark = callPackage ../development/python-modules/starlark { }; + starlette = callPackage ../development/python-modules/starlette { }; starlette-admin = callPackage ../development/python-modules/starlette-admin { }; @@ -19601,10 +19594,10 @@ self: super: with self; { stravaweblib = callPackage ../development/python-modules/stravaweblib { }; - strawberry-django = callPackage ../development/python-modules/strawberry-django { }; - strawberry-graphql = callPackage ../development/python-modules/strawberry-graphql { }; + strawberry-graphql-django = callPackage ../development/python-modules/strawberry-graphql-django { }; + strct = callPackage ../development/python-modules/strct { }; streamcontroller-plugin-tools = @@ -21844,7 +21837,7 @@ self: super: with self; { vmprof = callPackage ../development/python-modules/vmprof { }; - vncdo = callPackage ../development/python-modules/vncdo { }; + vncdotool = callPackage ../development/python-modules/vncdotool { }; vnoise = callPackage ../development/python-modules/vnoise { };