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 3df6dcba2037..f12864465908 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/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index ea1663b170e1..fbfe744152e4 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.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/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/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/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 de39713f0c10..2bd4ca79bed3 100644 --- a/pkgs/by-name/ap/apparmor-parser/package.nix +++ b/pkgs/by-name/ap/apparmor-parser/package.nix @@ -37,15 +37,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/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/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/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/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/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/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 d88a6d2583be..5c7427c84f1b 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/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/hd/hdrhistogram_c/package.nix b/pkgs/by-name/hd/hdrhistogram_c/package.nix index f05ebfe5f357..83aa93951d8e 100644 --- a/pkgs/by-name/hd/hdrhistogram_c/package.nix +++ b/pkgs/by-name/hd/hdrhistogram_c/package.nix @@ -11,13 +11,13 @@ 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="; }; buildInputs = [ zlib ]; 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/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/kn/knot-resolver-manager_6/package.nix b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix index cb449cb1df97..997daf3861bc 100644 --- a/pkgs/by-name/kn/knot-resolver-manager_6/package.nix +++ b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix @@ -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/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 aad9624acc98..492ae821ecdc 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/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/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 fa23ac200d96..0633a329ed5a 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 f9e1dda4e7ab..31b724759e8a 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/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/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/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/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/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/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/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index aea62e081629..691b8edf7a8f 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -73,7 +73,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 +86,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-6Dph2eLiJUmpQzPWe8EuY5LrWhrFwde2f2dwfgCcWNw="; + hash = "sha256-b6l3HgdhqIe9LazJmLivbCJgbKPAS8S54fuB9xvgalI="; }; postPatch = 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/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/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/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/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/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/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 73d3cc08df88..112349190c1f 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/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..d036b01bb5c9 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, @@ -805,6 +804,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,7 +837,6 @@ 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 ]; 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/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..a7412473707e 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, @@ -382,6 +384,9 @@ effectiveStdenv.mkDerivation { ++ optionals enableWebP [ libwebp ] + ++ optionals enableJpegXL [ + libjxl + ] ++ optionals enableEXR [ openexr ] @@ -504,6 +509,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) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 97b7596b937c..ee5e6f12caa8 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). @@ -232,6 +237,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 bc27578cda3d..2672613e357e 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/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..0d3afa5d7746 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 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/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 d911ebfa39e0..e79935cdce1e 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 3cd0d0b024ad..6910307f0bee 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 = with 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/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/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/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/asyncclick/default.nix b/pkgs/development/python-modules/asyncclick/default.nix index 11508f2eedf9..823c921260ab 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="; }; 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 e932afa10828..fe1fd26bd603 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/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/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/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/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/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/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 cd35c8fee54e..5c2a35930e0d 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..8d69ff5d6211 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 ]; 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/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/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/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/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/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix index 80810b707766..94ff66aa5620 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.5"; pyproject = true; src = fetchFromGitHub { owner = "tox-dev"; repo = "filelock"; - tag = version; - hash = "sha256-efBEyjuCcLkHsfpG61eKN6ALk4QW4UMdNmD56rSgFLc="; + tag = finalAttrs.version; + hash = "sha256-rpkRk3SwpUWNdjyLCk6FMwNvEhHMSOKWnn096thkhWE="; }; 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/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/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/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/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/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/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/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/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/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix index 634811c727e9..ae7ba56b9713 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 3d65fef2e464..0edd1b88b74f 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 87e145bb3513..d377c6c88a4c 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 b3f68350d32f..0cbcc426e527 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/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/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/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/imgw-pib/default.nix b/pkgs/development/python-modules/imgw-pib/default.nix index ed303cde63e0..399032553e99 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/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/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 cebace0bf539..22dfbc95fb3a 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/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/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/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/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/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/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/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/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/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/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/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..7c215cdb4aaf 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, @@ -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/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/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/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/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/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/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/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 3ad4b1c12ed1..488d5fee4994 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/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/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/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/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/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/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/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 f58967964499..ed09d5f5369c 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-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-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/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/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-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-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-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..d45067c67647 100644 --- a/pkgs/development/python-modules/pyturbojpeg/default.nix +++ b/pkgs/development/python-modules/pyturbojpeg/default.nix @@ -6,7 +6,8 @@ libjpeg_turbo, setuptools, numpy, - python, + pytest-memray, + pytestCheckHook, replaceVars, }: @@ -32,14 +33,15 @@ 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" ]; 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/rf-protocols/default.nix b/pkgs/development/python-modules/rf-protocols/default.nix index 4b6da5258243..395b4c996f6c 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, @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { 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/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/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/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/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/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/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix index c4f84e150699..84939fcf0ab4 100644 --- a/pkgs/development/python-modules/syrupy/default.nix +++ b/pkgs/development/python-modules/syrupy/default.nix @@ -5,6 +5,7 @@ hatchling, hypothesis, pydantic, + pyprojectVersionPatchHook, pytest, pytest-xdist, invoke, @@ -24,6 +25,11 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + # the commit updating the version happens only after tagging + pyprojectVersionPatchHook + ]; + buildInputs = [ pytest ]; nativeCheckInputs = [ 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/tlsh/default.nix b/pkgs/development/python-modules/tlsh/default.nix index 1c2c8aa8532a..b71daa2736d9 100644 --- a/pkgs/development/python-modules/tlsh/default.nix +++ b/pkgs/development/python-modules/tlsh/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-cYvXZrd+8ZC5LfucguFFNlEX8FR+AkchmCFButYoiMg="; }; + postPatch = '' + substituteInPlace py_ext/setup.py \ + --replace-fail "version = '4.5.0'" "version = '${version}'" + ''; + patches = [ # https://github.com/trendmicro/tlsh/pull/152 ./cmake-4-compat.patch 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/victron-mqtt/default.nix b/pkgs/development/python-modules/victron-mqtt/default.nix index ac13a0b9f9f5..82d9a9b340f4 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/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/word2number/default.nix b/pkgs/development/python-modules/word2number/default.nix index 0d5d92686d4d..abafd5a46f77 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/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 bead558a6cb5..80138d34e1cb 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/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/tcl-modules/by-name/ex/expect/0004-enable-cross-compilation.patch b/pkgs/development/tcl-modules/by-name/ex/expect/0004-enable-cross-compilation.patch deleted file mode 100644 index c09623d292b2..000000000000 --- a/pkgs/development/tcl-modules/by-name/ex/expect/0004-enable-cross-compilation.patch +++ /dev/null @@ -1,295 +0,0 @@ -From: Andrew Ruder -Subject: [PATCH] enable cross compilation for expect - -This patch was created by running ./configure on a modern Linux machine -and inserting the results into the cross compilation section of -each AC_MSG_CHECKING that bombed out with an error. - -Signed-off-by: Andrew Ruder - --- - -The original patch, and description above, is originally from -https://github.com/buildroot/buildroot/blob/master/package/expect/0001-enable-cross-compilation.patch - -This patch has been further modified to not hard-code Linux assumptions. - ---- - -Index: expect-5.45/configure.in -=================================================================== ---- expect-5.45.orig/configure.in 2013-11-14 07:59:58.732100595 -0600 -+++ expect-5.45/configure.in 2013-11-14 07:59:58.732100595 -0600 -@@ -6,10 +6,12 @@ - AC_INIT([expect],[5.45.4]) - - TEA_INIT([3.9]) - - AC_CONFIG_AUX_DIR(tclconfig) -+ -+AC_LANG([C]) - - #-------------------------------------------------------------------- - # Configure script for package 'Expect'. - # TEA compliant. - #-------------------------------------------------------------------- -@@ -465,26 +467,20 @@ - # Some systems only define WNOHANG if _POSIX_SOURCE is defined - # The following merely tests that sys/wait.h can be included - # and if so that WNOHANG is not defined. The only place I've - # seen this is ISC. - AC_MSG_CHECKING([if WNOHANG requires _POSIX_SOURCE]) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include --int --main() { - #ifndef WNOHANG -- return 0; --#else -- return 1; -+# error "WNOHANG requires _POSIX_SOURCE to be defined" - #endif --}], -+]])], - AC_MSG_RESULT(yes) - AC_DEFINE(WNOHANG_REQUIRES_POSIX_SOURCE) - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - AC_MSG_CHECKING([if any value exists for WNOHANG]) - rm -rf wnohang - AC_TRY_RUN([ -@@ -504,11 +501,12 @@ - rm -f wnohang - , - AC_MSG_RESULT(no) - AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) - ) - - # - # check how signals work - # -@@ -572,11 +570,11 @@ - }], - AC_MSG_RESULT(yes) - AC_DEFINE(REARM_SIG) - , - AC_MSG_RESULT(no) --, AC_MSG_WARN([Expect can't be cross compiled]) -+, AC_MSG_RESULT(no) - ) - - # HPUX7 has trouble with the big cat so split it - # Owen Rees 29Mar93 - SEDDEFS="${SEDDEFS}CONFEOF -@@ -710,25 +708,19 @@ - AC_DEFINE(POSIX) - fi - - # first check for the pure bsd - AC_MSG_CHECKING([for struct sgttyb]) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include --int --main() --{ -- struct sgttyb tmp; -- return 0; --}], -+static struct sgttyb tmp; -+]])], - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_SGTTYB) - PTY_TYPE=sgttyb - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - # mach systems have include files for unimplemented features - # so avoid doing following test on those systems - if test $mach -eq 0 ; then -@@ -735,116 +728,88 @@ - # next check for the older style ttys - # note that if we detect termio.h (only), we still set PTY_TYPE=termios - # since that just controls which of pty_XXXX.c file is use and - # pty_termios.c is set up to handle pty_termio. - AC_MSG_CHECKING([for struct termio]) -- AC_TRY_RUN([#include -- int -- main() -- { -- struct termio tmp; -- return 0; -- }], -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -+#include -+static struct termio tmp; -+]])], - AC_DEFINE(HAVE_TERMIO) - PTY_TYPE=termios - AC_MSG_RESULT(yes) - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - # now check for the new style ttys (not yet posix) - AC_MSG_CHECKING([for struct termios]) -- AC_TRY_RUN([ -- /* including termios.h on Solaris 5.6 fails unless inttypes.h included */ --# ifdef HAVE_INTTYPES_H -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -+/* including termios.h on Solaris 5.6 fails unless inttypes.h included */ -+#ifdef HAVE_INTTYPES_H - # include --# endif --# include -- int -- main() -- { -- struct termios tmp; -- return 0; -- }], -+#endif -+#include -+static struct termios tmp; -+]])], - AC_DEFINE(HAVE_TERMIOS) - PTY_TYPE=termios - AC_MSG_RESULT(yes) - , - AC_MSG_RESULT(no) -- , -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - fi - - AC_MSG_CHECKING([if TCGETS or TCGETA in termios.h]) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - /* including termios.h on Solaris 5.6 fails unless inttypes.h included */ - #ifdef HAVE_INTTYPES_H --#include -+# include - #endif - #include --int --main() { --#if defined(TCGETS) || defined(TCGETA) -- return 0; --#else -- return 1; -+# -+#if !(defined(TCGETS) || defined(TCGETA)) -+# error "missing both of TCGETS and TCGETA" - #endif --}], -+]])], - AC_DEFINE(HAVE_TCGETS_OR_TCGETA_IN_TERMIOS_H) - AC_MSG_RESULT(yes) - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - /* including termios.h on Solaris 5.6 fails unless inttypes.h included */ - #ifdef HAVE_INTTYPES_H --#include -+# include - #endif - #include --int --main() { --#ifdef TIOCGWINSZ -- return 0; --#else -- return 1; -+ -+#ifndef TIOCGWINSZ -+# error "missing TIOCGWINSZ" - #endif --}], -+]])], - AC_DEFINE(HAVE_TIOCGWINSZ_IN_TERMIOS_H) - AC_MSG_RESULT(yes) - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - # finally check for Cray style ttys - AC_MSG_CHECKING([for Cray-style ptys]) - SETUID=":" --AC_TRY_RUN([ --int --main(){ --#ifdef CRAY -- return 0; --#else -- return 1; -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -+#ifndef CRAY -+# error "CRAY is not defined" - #endif --} --], -+]])], - PTY_TYPE=unicos - SETUID="chmod u+s" - AC_MSG_RESULT(yes) - , - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - # - # Check for select and/or poll. If both exist, we prefer select. - # if neither exists, define SIMPLE_EVENT. -@@ -873,26 +842,24 @@ - - # - # check for timezones - # - AC_MSG_CHECKING([for SV-style timezone]) --AC_TRY_RUN([ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - extern char *tzname[2]; - extern int daylight; - int - main() - { - int *x = &daylight; - char **y = tzname; - - return 0; --}], -+}]])], - AC_DEFINE(HAVE_SV_TIMEZONE) - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no) --, -- AC_MSG_ERROR([Expect can't be cross compiled]) - ) - - - # Following comment stolen from Tcl's configure.in: - # Note: in the following variable, it's important to use the absolute - diff --git a/pkgs/development/tcl-modules/by-name/ex/expect/fix-build-time-run-tcl.patch b/pkgs/development/tcl-modules/by-name/ex/expect/fix-build-time-run-tcl.patch index 8edc4bea39d6..213251101530 100644 --- a/pkgs/development/tcl-modules/by-name/ex/expect/fix-build-time-run-tcl.patch +++ b/pkgs/development/tcl-modules/by-name/ex/expect/fix-build-time-run-tcl.patch @@ -1,11 +1,13 @@ ---- a/Makefile.in 2022-09-07 21:46:37.090519258 +0200 -+++ b/Makefile.in 2022-09-07 21:46:21.462592279 +0200 -@@ -380,7 +380,7 @@ - cp $(DIST_ROOT)/$(PKG_DIR).tar.gz $(top_builddir) - - $(SCRIPTS): -- $(TCLSH) $(srcdir)/fixline1 $(SHORT_BINDIR) < $(srcdir)/example/$@ > $@ -+ @tcl@ $(srcdir)/fixline1 $(SHORT_BINDIR) < $(srcdir)/example/$@ > $@ - - ## We cannot use TCL_LIBS below (after TCL_LIB_SPEC) because its - ## expansion references the contents of LIBS, which contains linker +diff --git a/Makefile.in b/Makefile.in +index 36feb62..ac77b25 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -380,7 +380,7 @@ dist: dist-clean doc + cp $(DIST_ROOT)/$(PKG_DIR).tar.gz $(top_builddir) + + $(SCRIPTS): +- $(TCLSH) $(srcdir)/fixline1 $(SHORT_BINDIR) < $(srcdir)/example/$@ > $@ ++ @tcl@ $(srcdir)/fixline1 $(SHORT_BINDIR) < $(srcdir)/example/$@ > $@ + + ## We cannot use TCL_LIBS below (after TCL_LIB_SPEC) because its + ## expansion references the contents of LIBS, which contains linker diff --git a/pkgs/development/tcl-modules/by-name/ex/expect/fix-darwin-bsd-clang16.patch b/pkgs/development/tcl-modules/by-name/ex/expect/fix-darwin-bsd-clang16.patch deleted file mode 100644 index a0e11a5f9d6b..000000000000 --- a/pkgs/development/tcl-modules/by-name/ex/expect/fix-darwin-bsd-clang16.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -ur a/exp_win.c b/exp_win.c ---- a/exp_win.c 2018-02-02 14:15:52.000000000 -0500 -+++ b/exp_win.c 2023-10-10 07:47:33.082690432 -0400 -@@ -39,7 +39,8 @@ - /* Sigh. On AIX 2.3, termios.h exists but does not define TIOCGWINSZ */ - /* Instead, it has to come from ioctl.h. However, As I said above, this */ - /* can't be cavalierly included on all machines, even when it exists. */ --#if defined(HAVE_TERMIOS) && !defined(HAVE_TIOCGWINSZ_IN_TERMIOS_H) -+/* Darwin also has termios.h, but it requires ioctl.h for `ioctl`. */ -+#if defined(HAVE_TERMIOS) && (defined(__APPLE__) || !defined(HAVE_TIOCGWINSZ_IN_TERMIOS_H)) - # include - #endif - -diff -ur d/pty_termios.c c/pty_termios.c ---- d/pty_termios.c 2023-10-10 07:59:23.244452442 -0400 -+++ c/pty_termios.c 2023-10-10 08:00:35.303231582 -0400 -@@ -7,7 +7,18 @@ - - */ - --#include /* openpty */ -+/* openpty */ -+#if defined(__APPLE__) -+# include -+#elif defined(__FreeBSD__) -+# include -+# include -+# include -+# include -+#else /* pty.h is Linux-specific */ -+# include -+#endif -+ - #include - #include - diff --git a/pkgs/development/tcl-modules/by-name/ex/expect/package.nix b/pkgs/development/tcl-modules/by-name/ex/expect/package.nix index 8e4b2b0caa54..ca7fb72b9739 100644 --- a/pkgs/development/tcl-modules/by-name/ex/expect/package.nix +++ b/pkgs/development/tcl-modules/by-name/ex/expect/package.nix @@ -2,40 +2,28 @@ lib, stdenv, buildPackages, - fetchurl, + fetchFromGitHub, tcl, makeWrapper, autoreconfHook, - fetchpatch, replaceVars, }: -tcl.mkTclDerivation rec { +tcl.mkTclDerivation (finalAttrs: { pname = "expect"; - version = "5.45.4"; + version = "6.0a1"; - src = fetchurl { - url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz"; - hash = "sha256-Safag7C92fRtBKBN7sGcd2e7mjI+QMR4H4nK92C5LDQ="; + src = fetchFromGitHub { + owner = "tcltk-depot"; + repo = "expect"; + tag = "v${finalAttrs.version}"; + hash = "sha256-RDWI4cH7X+N9axm31e1ACFUvTYfQ2r/sfNxWkZrYDJo="; }; patches = [ (replaceVars ./fix-build-time-run-tcl.patch { tcl = "${buildPackages.tcl}/bin/tclsh"; }) - # The following patches fix compilation with clang 15+ - (fetchpatch { - url = "https://sourceforge.net/p/expect/patches/24/attachment/0001-Add-prototype-to-function-definitions.patch"; - hash = "sha256-X2Vv6VVM3KjmBHo2ukVWe5YTVXRmqe//Kw2kr73OpZs="; - }) - (fetchpatch { - url = "https://sourceforge.net/p/expect/patches/_discuss/thread/b813ca9895/6759/attachment/expect-configure-c99.patch"; - hash = "sha256-PxQQ9roWgVXUoCMxkXEgu+it26ES/JuzHF6oML/nk54="; - }) - ./0004-enable-cross-compilation.patch - # Include `sys/ioctl.h` and `util.h` on Darwin, which are required for `ioctl` and `openpty`. - # Include `termios.h` on FreeBSD for `openpty` - ./fix-darwin-bsd-clang16.patch # Remove some code which causes it to link against a file that does not exist at build time on native FreeBSD ./freebsd-unversioned.patch ]; @@ -49,24 +37,17 @@ tcl.mkTclDerivation rec { makeWrapper ]; + __structuredAttrs = true; + strictDeps = true; - env = { - NIX_CFLAGS_COMPILE = toString ( - # Needed to avoid errors when building with GCC 15. - lib.optionals stdenv.cc.isGNU [ "-Wno-error=incompatible-pointer-types" ] - # Autoconf 2.73 defaults to C23, but Expect uses K&R style function declarations. - ++ [ "-std=gnu17" ] - ); - }; - - hardeningDisable = [ "format" ]; - postInstall = '' tclWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ tcl ]}) - ${lib.optionalString stdenv.hostPlatform.isDarwin "tclWrapperArgs+=(--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version})"} + ${lib.optionalString stdenv.hostPlatform.isDarwin "tclWrapperArgs+=(--prefix DYLD_LIBRARY_PATH : $out/lib/expect${finalAttrs.version})"} ''; + doCheck = true; + installCheckTarget = "test"; tclRequiresCheck = [ "Expect" ]; outputs = [ @@ -81,6 +62,5 @@ tcl.mkTclDerivation rec { platforms = lib.platforms.unix; mainProgram = "expect"; maintainers = with lib.maintainers; [ SuperSandro2000 ]; - broken = tcl.isTcl9; }; -} +}) 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/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/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/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix index d003f164abad..8abf382e17d6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix @@ -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..65369e28fb64 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 @@ -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/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/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 2cbdfd2fa593..bb345afdd482 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -25,11 +25,11 @@ 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="; }; # When we do build separate interactive version, it makes sense to always include man. diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1e5e6c0a8660..d987acf01188 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -577,6 +577,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 @@ -1678,7 +1679,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 @@ -1742,6 +1745,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 @@ -2355,6 +2359,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 ff6eb81a671b..552d4596a22d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2414,10 +2414,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; }; @@ -3066,7 +3062,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: @@ -4083,15 +4079,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 @@ -5916,7 +5912,7 @@ with pkgs; icu78 ; - icu = icu76; + icu = icu78; idasen = with python3Packages; toPythonApplication idasen; @@ -7091,14 +7087,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"; @@ -7107,7 +7095,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 16df0610345a..29974e6d9751 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -86,12 +86,14 @@ 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 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 apkit = throw "apkit was removed because it is unmaintained upstream and different from apkit on PyPI"; # added 2025-09-13 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 @@ -105,6 +107,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 @@ -162,6 +165,7 @@ mapAliases { 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 @@ -224,6 +228,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 @@ -442,6 +447,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 @@ -675,6 +681,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 f495144a2263..7e84d2e2add2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1069,7 +1069,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 { }; @@ -1399,7 +1399,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 { }; @@ -1573,8 +1573,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 { }; @@ -4149,8 +4147,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 { }; @@ -5853,8 +5849,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 { }; @@ -10942,6 +10936,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 { }; @@ -13906,8 +13902,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 { }; @@ -14889,6 +14883,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 { }; @@ -16158,6 +16154,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 { }; @@ -16338,6 +16336,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 { }; @@ -16452,6 +16452,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 { }; @@ -21806,7 +21808,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 { };